Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501483
  • 博文数量: 58
  • 博客积分: 6012
  • 博客等级: 准将
  • 技术积分: 1211
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-09 22:50
文章分类

全部博文(58)

文章存档

2010年(25)

2009年(23)

2008年(10)

我的朋友

分类: LINUX

2009-08-10 17:15:39

Ubuntu 9.04 + LTSP
原理:
配置要求——client:CPU > 533MZ, PXE NIC, MEM > 128MB, 显存>16MB;
       ——Server:MEM > 250MB + (192 * 用户数)MB,比如100个用户=19456MB≈20GB,如果按40%的同时在线率计算,那么20GB的内存可以支持250个注册用户;CPU最好采用多核高频的。对于内存的消耗还与用户类型有关,如果用户类型一样(都运行相同的程序),那么消耗的内存就很少了。NIC, 两块千兆网卡。

用到的主要软件:DHCP,TFTP,NBD,SSH,OPENLDAP
硬盘布局:
/var/lib/tftpboot/ltsp/i386|ppc|……存放相应机器类型的启动文件:initram、内核和配置文件default
/opt/ltsp/{i386|ppc|……,images/i386.img|ppc.img|……},存放相应机器类型的chroot环境和镜像文件,镜像文件用于nbd,chroot环境用于NFS。

注意UbuntuLTSPLTSPFatClients()
终端启动步骤:
1)、通过dhcp协议获取网络配置参数;
2)、通过PXE|TFTP下载内核和initramfs到内存;
3)、执行内核,对系统做初始化操作;
4)、执行initram中的/init脚本:
A). mount /proc和/sys,启动udev发现和初始化硬件,同时创建一个小的ramdisk用于保存一些临时产生的文件(如xorg.conf),并作为临时根;
B).配置回路loopback网络接口127.0.0.1;
C).启动ipconfig脚本再一次向DHCP服务器询问根文件信息参数(如nfs 服务器,根文件位置等);
D).通过nfs或者NBD安装真正的根到一个临时目录;
E).运行run-init把真根切换到/目录
F).mount /tmp, /var等,最后运行/sbin/init;
5)、init读/etc/event.d目录并设置终端环境,运行目录/etc/rcS.d下的脚本程序;
6)、运行ltsp-client-setup脚本,进一步配置ltsp 终端运行环境(如检查是否启用本地存储设备,转载任何需要的模块等);
7)、执行/etc/rc2.d目下的脚本,其中有一个脚本ltsp-client-core完成如下工作:
分析文件lts.conf: 如果配置了声音系统,那么就启动pulseaudio进程,这样就允许来自服务器的声音连接并在本地播出声音;如果配置了本地设备支持,那么启动ltspfsb,允许本地挂载设备;最后启动在lts.conf配置的全部屏幕会话进程(如ldm, startx, telnet等)。如果要启动图形系统,那么xorg Server自动检测显卡,并把配置写到ram-disk中的/etc/X11/xorg.conf里,并启动xorg server程序。
8)、到此,屏幕上出现了登陆画面。

1、配置好全部网卡参数;
2、安装:
# apt-get isntall ltsp-server dhcp3-server tftpd-hpa tftp
# ltsp-build-client --prompt-rootpass --copy-sourceslist 2 > /tmp/ltsp.err
# update-rc.d -f tftpd-hpa remove
3、配置:
#cat /var/lib/tftpboot/ltsp/i386/lts.conf
[default]
    X_COLOR_DEPTH=24
    LOCALDEV=True
    LOCAL_APPS=True
    SOUND=True
    SYSLOG_HOST=server
    XKBLAYOUT=us
    LDM_DEBUG=no
[00:11:25:93:CF:00]
    LOCAL_APPS_MENU=True
    LOCAL_APPS_MENU_ITEMS=firefox,gnome-terminal

注意:参数LOCAL_APPS, LOCAL_APPS_MENU和LOCAL_APPS_MENU_ITEMS定义是否启用本地程序,且指明哪些是本地程序,这些程序会出现在桌面主菜单中。使用下面命令安装本地程序:
chroot /opt/ltsp/i386 apt-get install firefox gnome-terminal
安装完后自动在本地目录/usr/shar/applications/下生成桌面菜单项配置文件*.desktop。

附录:FAQ
1、普通用户从终端登录后不能运行firefox --> 家目录下子目录.mozilla权限不对。
2、普通用户无法播放音乐 --> 重启动主机和终端。
3、普通用户无法自动安装usb磁盘 --> 把用户加入fuse组。
4、在终端上输入用户名和密码后等待较长时间,然后返回错误信息:No response from server, restarting ... --> 说明服务器网卡ip地址后来修改过,执行命令ltsp-udpate-sshkeys && ltsp-update-image,然后重启终端即可。
5、终端引导进入(initramfs) --> 检查服务器上的 2000 号端口是否被监听,检查 nbd-server服务的配置并确认 2000 端口被监听,还要关闭网上多余的 DHCP 服务器。
6、如果登录时报错:This workstation isn't authorized to connect to server --> 表明将要登录的服务器公钥没有列入镜像根的/etc/ssh/ssh_known_hosts 中,参考前面的“ssh 部署”把公钥加
入,并从新生成镜像根。



附录:采用NFS
apt-get install nfs-kernel-server
echo "/opt/ltsp/i386 *(ro,no_subtree_check,no_root_squash)" >> /etc/exports
/etc/init.d/nfs-kernel-server restart

vim /opt/ltsp/i386/etc/default/ltsp-client-setup
root_write_method="bind_mounts"

vim /opt/ltsp/i386/etc/initramfs-tools/conf.d/ltsp
BOOT=nfs


chroot /opt/ltsp/i386 update-initramfs -u
ltsp-update-kernels

--注意:这时起作用的是/opt/ltsp/i386/etc/lts.conf文件

vim /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
在行尾添加boot=nfs nfsroot=/opt/ltsp/i38

find /opt/ltsp/i386 -execdir touch {} \; --这个命令置位文件的修改时间和访问时间为当前系统时间。

1个小时候启动终端并登录,同时本地登录root,做一些操作。然后在服务器上发出命令:
find /opt/ltsp/i386 -amin +60 -execdir rm -f {} \;
这样就把没有用的文件和目录删除了。

阅读(1202) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~