You are not logged in.
Hello Archers!
I have one question...
Im trying to make NBD server system with thin clients, i read official quick start quide by https://wiki.archlinux.org/index.php/Di … t_NBD_root
and when i building image i have trouble NBD: No build finction.
Any help!
Last edited by antiuser (2012-04-16 05:23:49)
Offline
I wrote the wiki article and the mkinitcpio-nbd package. I haven't been using it myself because I couldn't get suspend/resume to work and that was a deal-breaker for me. I kind of forgot about it, but nice to see that someone is interested in it after all.
I can confirm the error and I'm gonna look into it...
Offline
This should be fixed in mkinitcpio-nbd 0.2. I also added some error checking in the hook and moved it to /usr. if it still doesn't work or something in the wiki is wrong or unclear, let me know.
Offline
This should be fixed in mkinitcpio-nbd 0.2. I also added some error checking in the hook and moved it to /usr. if it still doesn't work or something in the wiki is wrong or unclear, let me know.
Much Thanks Kid!
And another question...
Now i have read only / on thin client, how to automaticaly use rw root fs? I can give this only if i wrote mount -o,remount,rw /
Is it real to give rw fs of NBD on bootup thin client?
Thx!
Offline
Much Thanks Kid!
And another question...
Now i have read only / on thin client, how to automaticaly use rw root fs? I can give this only if i wrote mount -o,remount,rw /
I guess this is because the root entry in /etc/fstab is missing, try this (assuming you use ext4):
/dev/nbd0 / ext4 defaults 0 0
The last 0 disables the fsck check on boot, I don't know if fsck is safe over NBD (it should work in theory, but I haven't tried it).
Is it real to give rw fs of NBD on bootup thin client?
Not sure what you mean by "real"!? As explained in the wiki, you definitively should NOT mount the NBD device on multiple clients if you use read/write support, this will probably break the filesystem. It should work fine if you only boot from one client.
Offline
I just noticed that the current method the hook actually works (having the nbd server listen on a specific port for each export) has been deprecated. This is also why the configuration with the config file didn't work correctly, see https://bbs.archlinux.org/viewtopic.php?id=121956
The way it is supposed to work now is that the nbd server is listening on a single port and the client can specify which exports he wants to use with the "-name" parameter. Since the current method is deprecated and may not work anymore in the future and the workaround in the wiki (starting nbd-server manually with the -C " ") sucks, I will change this. This will obviously require some changes in the hook and the boot parameters. I will also update the wiki accordingly.
edit:
I uploaded mkinitcpio-nbd 0.3 and changed the wiki accordingly. The kernel parameters and the nbd-server configuration have changed, check the wiki for details:
https://wiki.archlinux.org/index.php/Di … NBD_server
https://wiki.archlinux.org/index.php/Di … figuration
Last edited by 65kid (2012-04-10 18:42:48)
Offline
I just noticed that the current method the hook actually works (having the nbd server listen on a specific port for each export) has been deprecated. This is also why the configuration with the config file didn't work correctly, see https://bbs.archlinux.org/viewtopic.php?id=121956
The way it is supposed to work now is that the nbd server is listening on a single port and the client can specify which exports he wants to use with the "-name" parameter. Since the current method is deprecated and may not work anymore in the future and the workaround in the wiki (starting nbd-server manually with the -C " ") sucks, I will change this. This will obviously require some changes in the hook and the boot parameters. I will also update the wiki accordingly.
edit:
I uploaded mkinitcpio-nbd 0.3 and changed the wiki accordingly. The kernel parameters and the nbd-server configuration have changed, check the wiki for details:
https://wiki.archlinux.org/index.php/Di … NBD_server
https://wiki.archlinux.org/index.php/Di … figuration
Thank you for updated guide!
What can you say about much thin clients with different VGA cards? There are nvidia, radeon, intel, etc...
I can say about incorrect X.org resolution on NVIDIA card. There are may be bug with this... We can not create global config xorg.conf, because it will be support only one VGA card, and it will be depricated. This work only with 1024*768 (there are no higer resolution, i use XFCE for desktop env.) Xorg doesnt start if / nbd system will mount with ro (its required to write log to /var/log/Xorg.log).
UPD: I solved problem with screen resolution by selecting higer resolution in Display Manager in XFCE and disabling LVDS port there, but after reboot settings with right resolution are lost.
Any clue?
Last edited by antiuser (2012-04-11 09:13:08)
Offline
What can you say about much thin clients with different VGA cards? There are nvidia, radeon, intel, etc...
I can say about incorrect X.org resolution on NVIDIA card. There are may be bug with this... We can not create global config xorg.conf, because it will be support only one VGA card, and it will be depricated. This work only with 1024*768 (there are no higer resolution, i use XFCE for desktop env.) Xorg doesnt start if / nbd system will mount with ro (its required to write log to /var/log/Xorg.log).UPD: I solved problem with screen resolution by selecting higer resolution in Display Manager in XFCE and disabling LVDS port there, but after reboot settings with right resolution are lost.
Any clue?
Just to clarify: mounting everything read-only will NOT work. You will need write support on /var and /home. You have two options:
1. mount / rw and use the copyonwrite option. The system should then work perfectly fine, even with multiple clients, but all changes a client makes will be lost on reboot.
2. mount / ro and mount /var and /home both via tmpfs. This may cause problems for /var, I'm no expert on this. /home will obviously be empty on boot because it's tmpfs. If you want a default home folder on boot, you could create it somewhere on /, e.g. /defaulthome and then do something like "cp -rf /defaulthome/* /home/" in /etc/rc.local. This may be faster than option 1, but it's kind of a hack and you may run out of space on /var and /home depending on how much memory your clients have.
Of couse you could also mount /home via NFS or a separate NBD export (have a look at the "virtstyle" option in "man 5 nbd-server"). The changes would then be preserved.
regarding the VGA cards. If you use the open source drivers (nouveau/radeon) and not the proprietary drivers (nvidia/catalyst), everything should work fine without a xorg.conf. Don't forget that you have to install xf86-video-intel, xf86-video-nouveau and xf86-video-ati. X should automatically pick the right driver on start.
If for some reason you have to use the proprietary drivers, this would get more complicated...
Last edited by 65kid (2012-04-11 11:12:51)
Offline
Just to clarify: mounting everything read-only will NOT work. You will need write support on /var and /home. You have two options:
1. mount / rw and use the copyonwrite option. The system should then work perfectly fine, even with multiple clients, but all changes a client makes will be lost on reboot.
2. mount / ro and mount /var and /home both via tmpfs. This may cause problems for /var, I'm no expert on this. /home will obviously be empty on boot because it's tmpfs. If you want a default home folder on boot, you could create it somewhere on /, e.g. /defaulthome and then do something like "cp -rf /defaulthome/* /home/" in /etc/rc.local. This may be faster than option 1, but it's kind of a hack and you may run out of space on /var and /home depending on how much memory your clients have.Of couse you could also mount /home via NFS or a separate NBD export (have a look at the "virtstyle" option in "man 5 nbd-server"). The changes would then be preserved.
regarding the VGA cards. If you use the open source drivers (nouveau/radeon) and not the proprietary drivers (nvidia/catalyst), everything should work fine without a xorg.conf. Don't forget that you have to install xf86-video-intel, xf86-video-nouveau and xf86-video-ati. X should automatically pick the right driver on start.
If for some reason you have to use the proprietary drivers, this would get more complicated...
Thanks for answers, yeah, I think, that NFS variant will be nice What is better options to mounting /home on NFS server and client? We need fast working and saving data of /home partition.
Offline
Thanks for answers, yeah, I think, that NFS variant will be nice
What is better options to mounting /home on NFS server and client? We need fast working and saving data of /home partition.
I don't really have much experience with NFS. The wiki should have all the info you need:
https://wiki.archlinux.org/index.php/Nfs
Offline
Please mark this thread as solved a cannot see this option, sorry
Offline