实验环境
1.centos7.5 (服务端)
2.思科交换机一台(配置DHCP并分配网段:1.1.1.0/24)
3.电脑主机2台(一台服务端,一台客户端)服务端最好双网卡,一根接1.1.1.0/24(模拟内网);一根接88.88.88.0/24(模拟外网)
安装步骤
centos7.5安装安装配置秘钥DRBL安装DRBL服务端配置DRBL用户端配置镜像挂载centos7.5安装
禁用防火墙、selinux、NetworkManager
[root@DRBL ~]# systemctl stop firewalld[root@DRBL ~]# systemctl disable firewalld[root@DRBL ~]# vim /etc/selinux/configSELINUX=disabled
[root@DRBL ~]# systemctl stop NetworkManager#临时关闭[root@DRBL ~]# systemctl disable NetworkManager #永久关闭网络管理命令
分配/tftpboot 分区大小最好10GB以上,官网建议4GB,供PXE等启动配置文件使用,后续挂载的镜像也是放在此目录下,所以最好分大一点
安装配置秘钥
未安装秘钥yum install drbl clonezilla是无法连接到drbl服务器下载的;秘钥安装后才能通过yum安装drbl与clonezilla,
针对centos系列root下执行:rm -f GPG-KEY-DRBL; wget .tw/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL
注:需要外网环境或代理
查询是否生成秘钥:
[root@DRBL tftpboot]# rpm -qa gpg-pubkey*gpg-pubkey-45599afd-5816f247
其他版本系统密码安装方法详情见官网:点这里
DRBL安装
从drbl官网下载RPM包至本地(如 drbl-4.5.3-drbl1.noarch.rpm):稳定版;
然后就是:yum -y drbl-4.5.3-drbl1.noarch.rpm
#yum会一键安装相关依赖包,免去rpm命令安装,还需手动安装依赖包的麻烦
DRBL服务端配置
[root@DRBL tftpboot]# drblsrv -i*****************************************************.提示! 当有yes/no选项的时候,默认的值是大写的字母。例如 (y/N), 默认值是 "N", 当您按 "Enter"的时候,程序使用的值就是 "N"。如果您不确认选用哪个好的时候,直接按"Enter"键是一个保险的方式。*****************************************************.*****************************************************.在 RedHat/Fedora Linux 上安装 DRBL 环境...您的操作系统版本: CO7.5.1804*****************************************************.您要设定代理服务器吗?[y/N] *****************************************************.Use the CO7.5.1804 repository settings in /etc/yum.repos.d/.Seting the DRBL yum repository in /etc/yum.repos.d/... done!*****************************************************.您是否要使用 DRBL "不稳定版"中的程序(如果您的DRBL的rpm程序是从不稳定版中下载的,请回答"是")(这些程序功能可能多很多,但可能有非常多的瑕疵,如果您是超级勇敢的话,值得一试)?[y/N] 您是否要使用 DRBL "测试版"中的程序(如果您的DRBL的rpm程序是从测试版中下载的,请回答"是")(这些程序功能比较多,但可能有些瑕疵,如果您够勇敢的话,值得一试)?[y/N] *****************************************************.Try to find yum repository url...*****************************************************.Use yum repository in Invalid/release/repo/arch*****************************************************.您是否要安装一些网络安装的开机程序使得客户端的电脑可以通过网络安装Linux (Debian, Ubuntu, RedHat Linux, Fedora Core, Mandriva, CentOS与OpenSuSE等)到本地的硬盘中? ///注意/// 这个动作会下载一些文件(全部的大小可能超过100 MB),所以有可能会花不少时间。假如您的客户端电脑有硬盘,而您又有可能会需要安装操作系统,建议选择Y。假如您回答no,之后您仍然可以使用drbl-netinstall来安装这些文件。[y/N]
不知道的项目就直接回车,默认是NO,drblsrv -i --language 2显示中文
DRBL用户端配置
客户端配置之前一定要理顺网络逻辑
enp0s26u1u4: IP address 1.1.1.11, netmask 255.255.255.0 #用于to WAN(连接外络)
enp2s0: IP address 88.88.88.160, netmask 255.255.254.0 #用于to LAN(连接内网)
virbr0: IP address 192.168.122.1, netmask 255.255.255.0 #用于DRBL客户端分配IP地址(防止只有一张物理网卡的情况),详情见官网的说明:
[root@DRBL tftpboot]# drblpush -i******************************************************提示!当有yes/no选项的时候,默认的值是大写的字母。例如(y/N),默认值是"N",当您按"Enter"的时候,程序使用的值就是"N"。如果您不确认选择哪个好的时候,直接按"Enter"键是一个保险的方式。******************************************************正在搜索DRBL服务器中已经安装的相关程序...这可能需要几分钟...完成寻找DRBL服务器所需的相关程序。******************************************************------------------------------------------------------这是一个交互模式,在设置DRBL环境的过程中,您必须提供相关资料------------------------------------------------------------------------------------------------------------请输入域名(DNS domain),例如:[] 您设定的域名(DOMAIN)是 ------------------------------------------------------请输入NIS/YP域名:[penguinzilla] 您设定的域名(DOMAIN)是 penguinzilla------------------------------------------------------请输入客户端主机名称的前缀:这个前缀是用来自动生成客户端主机名称的,如果您有部分或者全部机器不使用这个自动产生的主机名称,您想自己指定用户主机名称,现在可以按Ctrl-C退出这个程序,编辑/etc/drbl/client-ip-hostname后,再执行这个程序。[DRBL-] 您设定的客户端计算机的主机名称的前缀是 DRBL-------------------------------------------------------enp0s26u1u4: IP address 1.1.1.11, netmask 255.255.255.0enp2s0: IP address 88.88.88.160, netmask 255.255.254.0virbr0: IP address 192.168.122.1, netmask 255.255.255.0在您的系统上找到已经设置好的以太网卡有: enp0s26u1u4 enp2s0 virbr0 ------------------------------------------------------互联网使用的以太网卡是: enp0s26u1u4 enp2s0DRBL环境使用的以太网卡是: enp0s26u1u4 enp2s0 virbr0 ******************************************************现在我们可以收集客户端计算机网卡的MAC地址(MAC Address)!通过这个收集的步骤可以帮助您的DRBL环境让客户端计算机每次开机都可以取得相同的IP,如果您没有客户端计算机网卡的MAC地址存档时,您现在就应该做!如果您已经有客户端计算机网卡的MAC地址存档时,您也可以把那些MAC地址排序分组后,一行一行地填在文件中(文件的数量就是您DRBL分流网卡的个数),那么,这个步骤您就可以略过。这个步骤就是帮您侦测MAC地址,然后保存到文件中,省去您抄录MAC地址的时间以及可能的抄写错误客户端计算机的网卡MAC地址将会按照您客户端计算机的开机顺序被记录下来。所收集到底网卡MAC地址将会依照客户端计算机连到DRBL服务器的网卡来给文件名,保存下来的文件名如macadr-eth1.txt、macadr-eth2.txt... 您可以在/etc/drbl/目录下找到这些文件。请先将客户端计算机设置为网络开机(etherboot或是PXE),并依照您想要排列的顺序开机!您是否要收集客户端计算机的网卡MAC地址?[y/N] ******************************************************继续...******************************************************Hostmin: 1.1.1.1您是否要让DRBL服务器的DHCP服务每次都分配相同的IP给客户端计算机(要使用这个选项,您必须已经收集好客户端计算机的网卡MAC地址(如前述的步骤)并且保存在文件中),这是针对连接到DRBL服务器网卡的 enp0s26u1u4 ?[y/N] ******************************************************继续...客户端计算机会采用非固定IP!******************************************************这个域的客户端计算机中,起始的IP的4组数字中,最后一组数字的起始值是(也就是IP a.b.c.d的d的起始值)?这是针对连接到DRBL服务器网卡的 enp0s26u1u4.[1] ******************************************************有多少台DRBL客户端计算机(也就是给学生使用的电脑)连接到DRBL服务器网卡 enp0s26u1u4 ?请输入数字: [12] ******************************************************我们将设置这些客户端计算机的IP为,这是针对连接到DRBL服务器网卡的 enp0s26u1u4 因为: 1.1.1.1 - 1.1.1.12接受 ? [Y/n] ******************************************************继续...Hostmin: 88.88.88.1您是否要让DRBL服务器的DHCP服务每次都分配相同的IP给客户端计算机(要使用这个选项,您必须已经收集好客户端计算机的网卡MAC地址(如前述的步骤)并且保存在文件中),这是针对连接到DRBL服务器网卡的 enp2s0 ?[y/N] ******************************************************继续...客户端计算机会采用非固定IP!******************************************************这个域的客户端计算机中,起始的IP的4组数字中,最后一组数字的起始值是(也就是IP a.b.c.d的d的起始值)?这是针对连接到DRBL服务器网卡的 enp2s0.[1] ******************************************************有多少台DRBL客户端计算机(也就是给学生使用的电脑)连接到DRBL服务器网卡 enp2s0 ?请输入数字: [12] ******************************************************我们将设置这些客户端计算机的IP为,这是针对连接到DRBL服务器网卡的 enp2s0 因为: 88.88.88.1 - 88.88.88.12接受 ? [Y/n] ******************************************************继续...Hostmin: 192.168.122.1您是否要让DRBL服务器的DHCP服务每次都分配相同的IP给客户端计算机(要使用这个选项,您必须已经收集好客户端计算机的网卡MAC地址(如前述的步骤)并且保存在文件中),这是针对连接到DRBL服务器网卡的 virbr0 ?[y/N] ******************************************************继续...客户端计算机会采用非固定IP!******************************************************这个域的客户端计算机中,起始的IP的4组数字中,最后一组数字的起始值是(也就是IP a.b.c.d的d的起始值)?这是针对连接到DRBL服务器网卡的 virbr0.[1] ******************************************************有多少台DRBL客户端计算机(也就是给学生使用的电脑)连接到DRBL服务器网卡 virbr0 ?请输入数字: [12] ******************************************************我们将设置这些客户端计算机的IP为,这是针对连接到DRBL服务器网卡的 virbr0 因为: 192.168.122.1 - 192.168.122.12接受 ? [Y/n] ******************************************************继续...******************************************************您的DRBL环境配置: ******************************************************NIC NIC IPClients+-----------------------------+| DRBL SERVER || || +-- [enp0s26u1u4 enp2s0] 1.1.1.11 88.88.88.160 +- to WAN | || +-- [enp0s26u1u4] 1.1.1.11 +- to clients group enp0s26u1u4 [ 12 clients, their IP | | from 1.1.1.1 - 1.1.1.12]| +-- [enp2s0] 88.88.88.160 +- to clients group enp2s0 [ 12 clients, their IP | | from 88.88.88.1 - 88.88.88.12]| +-- [virbr0] 192.168.122.1 +- to clients group virbr0 [ 12 clients, their IP | | from 192.168.122.1 - 192.168.122.12]+-----------------------------+******************************************************Total clients: 36******************************************************按"Enter"键来继续... ------------------------------------------------------本系统中,有3种模式可以提供无盘的Linux服务给客户端使用:[0] 完全DRBL模式(Full DRBL mode),每个客户端都有自己的/etc和/var(基于NFS)。[1] 单一系统映像文件模式(DRBL SSI, single system image),每个客户端都使用tmpfs(以内存来当虚拟磁盘)的/etc和/var。此模式中,Clonezilla服务器的负载和所需的硬盘空间会少一些。但是请注意!这个模式中,(a)客户端计算机的内存建议至少要256MB以上,(b)客户端计算机的系统设置并不会保存到服务器中。所有开机后的系统设置只会使用一次,关机后就会消失。此外,如果您修改过任何范本机器的设置文件(也就是位于/tftpboot/nodes下的设置文件),您要再执行drbl-gen-ssi-files来生成新的tarball范本文件于/tftpboot/node_root/drbl_ssi/中,(c)如果您要针对某些客户端设置一些特别的文件,可以参考/tftpboot/node_root/drbl_ssi/clients/00_README。[2] 不要提供无盘Linux服务给客户端使用。您要选择哪一个模式?[0] 使用完全DRBL模式。******************************************************------------------------------------------------------本系统中,Clonezilla再生龙有4个模式可以选择:[0] 完全模式(Full clonezilla mode),每个客户端都有自己的/etc和/var(基于NFS)。[1] [1] 再生龙盒模式(Clonezilla box mode),每个客户端都使用tmpfs(以内存来当虚拟磁盘)的/etc和/var。此模式中,Clonezilla服务器的负载和所需的硬盘空间会少一些。但是请注意!这个模式中,客户端计算机的系统设置文件并不会报存在服务器中。所有开机后的系统设置只会使用一次,然后关机后就会消失![2] 我不要使用再生龙。[3] 使用Clonezilla live当作用户端做clonezilla工作时的操作系统。您要选择哪一个模式?[0] 您选择了完全模式(Full clonezilla mode)!************************************************************************************************************用户端执行Clonezilla的工作时,选用的CPU架构是: amd64------------------------------------------------------使用再生龙的时候,您要把映像文件报存在这台机器的哪个目录中(请使用绝对路径,并且不要指定在/mnt/、/media/或者/tmp/下)?[/home/partimag] Directory for Clonezilla saved images: /home/partimag------------------------------------------------------如果您的客户端计算机有硬盘,其中有交换分区(swap partition)或者是可写的文件系统,您是否要使用该交换分区或者在上面生成一个交换文件来作虚拟内存,以便客户端的计算机可以使用需要更多内存的程序?(这个步骤不会损坏硬盘中原有的资料)[Y/n] ******************************************************确定要在客户端计算机硬盘中生成一个交换文件!------------------------------------------------------交换文件要使用多少硬盘空间(Megabytes)?我们会试着按照您指定的交换文件的大小进行配置,但是如果可写的空间如果不够的话,我们只会使用可用空间的60%。[128] maxswapsize=128******************************************************------------------------------------------------------客户端开机后要进入哪一种模式?"1" 图形模式(默认),"2" 文字模式。[1] 客户端开机后为图形模式。******************************************************------------------------------------------------------客户端开机进入图形模式后,您可以选择登入的种类:(0)一般登入、(1)自动登入、(2)限时登入[0] 客户端计算机开机后,使用者必须输入帐号和密码才能使用******************************************************------------------------------------------------------基于安全考虑,您是否要为客户端计算机设置管理员密码(默认为复制DRBL服务器的管理员密码给客户端计算机管理员使用)? [y/N] 继续...------------------------------------------------------基于安全考虑,您是否要为客户端计算机设置开机密码?[y/N] 继续...------------------------------------------------------您是否要在客户端计算机开机的时候允许用户选择自己所要的操作系统?[Y/n] 客户端计算机开机,出现提示符时需要等待多少个0.1秒?[70] 继续...------------------------------------------------------------------------------------------------------------您是否要在客户端计算机开机的时候使用图形背景的菜单?注意!如果您的客户端使用图形背景无法正常开机,您可以使用"switch-pxe-bg-mode -m text"来切换成文字模式的背景。[Y/n] Use graphic PXE Linux menu for the client.------------------------------------------------------------------------------------------------------------使用别名方式,每台客户端计算机可以拥有2个IP,其中一个为私有IP,用来连接到DRBL服务器,另一个公开IP使用来直接通过网卡连接到互联网使用!您是否要为每台客户端计算机设置公开IP?[y/N] ------------------------------------------------------您是否要让DRBL客户端可以选择使用终端机(Terminal)模式?也就是说,您要让客户端计算机执行DRBL服务器的远程显示(remote display) (这会大部分使用服务器的资源),请在此回答"Y"。请注意!0. 如果开启这个模式,客户端的环境是非常有限的,例如客户端无法直接使用USB、CD、声音、打印机等。1. 如果您的DRBL服务器不够强,您最好在此回答"no"。2. 如果您在此回答"yes",我们会开启XDMCP让用户来连接,开启XDMCP永远不会是一个安全的作法,一个可行的方式是另外设置/etc/hosts.allow以及/etc/hosts.deny来让您的客户端计算机连接,但是还不是最安全的。在防火墙中设置网卡177的规则是一个最安全的作法。您可以阅读XDMCP的相关手册来了解相关细节。请您自己根据您的需要来设置这些规则。3. 如果这里回答"yes",待会儿您可能必须要重新启动X视窗的桌面环境管理程序(gdm/kdm),在关闭所有的应用程序之前请记得保存您的资料!您是否要开放终端机(Terminal)模式给客户端选用?[y/N] 继续...------------------------------------------------------------------------------------------------------------您是否要让DRBL服务器也能提供NAT服务(也就是一般俗称的IP共享功能)?如果不要的话,DRBL客户端计算机将无法连接到互联网。[Y/n] 继续...------------------------------------------------------******************************************************DRBL服务器目前使用的内核支持 NFS over TCP!【注意】如果您改变DRBL服务器目前使用的内核版本,并且不确认那个内核是否支持基于UDP或者TCP的NFS,您最好重新执行"drblpush -i"以免客户端计算机开不了机!按"Enter"键来继续... ******************************************************DRBL服务器目前使用的内核支持 NFS over TCP!【注意】如果您改变DRBL服务器目前使用的内核版本,并且不确认那个内核是否支持基于UDP或者TCP的NFS,您最好重新执行"drblpush -i"以免客户端计算机开不了机!按"Enter"键来继续... ------------------------------------------------------******************************************************The calculated NETWORK for enp0s26u1u4 is 1.1.1.0.The calculated NETWORK for enp2s0 is 88.88.88.0.The calculated NETWORK for virbr0 is 192.168.122.0.************************************************************************************************************现在准备部署这些文件到系统中!您要继续执行么?警告!如果您继续执行,您的防火墙规则将会被改写!原来的规则将会被备份为iptables.drblsave于系统的设置目录中(/etc/sysconfig或者/etc/default)。[Y/n] ******************************************************开始进行...------------------------------------------------------Some files are found in /usr/share/drbl//prerun/drbl/. Run them first...Checking the necessary disk space... done!Copying the config file to /etc/drbl... done!Backup the original /etc/hosts as /etc/hosts.drblsave... done!Generate the /etc/hosts... done!Cleaning the stale files of the diskless nodes if they exist... done!*****************************************************.*****************************************************.The version number for your GNU/Linux: CO7.5.1804Keeping the old common root files if they exist... Keeping old nodes if they exist... Creating common root files... This might take several minutes............省略.省略.省略完成 !Clean all the previous saved config file if they exist...done!Turn on the boot prompt for PXE client...No revealed label memtest was found! Skip it.done!Turn off the thin client option in PXE boot menu...done!Modifying /tftpboot/nbi_img/pxelinux.cfg/default to let DRBL client use graphical PXE boot menu... done!Full DRBL mode. Remove clientdir opt for label drbl in pxelinux config... Setting drbl_mode="full_drbl_mode" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done!Full clonezilla mode. Remove clientdir opt for label clonezilla in pxelinux config... Setting clonezilla_mode="full_clonezilla_mode" in /etc/drbl/drbl_deploy.conf and /etc/drbl/drblpush.conf... done!**您必须要再执行"dcs" -> clonezilla-start来启动再生龙clonezilla服务,客户端开机的时候也才会出现再生龙的菜单**No hidden label Clonezilla-live was found! Skip it.No hidden menuentry with ID clonezilla-live-client found! Skip it.Some files are found in /usr/share/drbl//postrun/drbl/. Run them now...*****************************************************.Enjoy DRBL!!!; .twNCHC Free Software Labs, Taiwan. .tw*****************************************************.如果您喜欢,您可以现在把这台DRBL服务器重新开机,确认所有的程序与设定是正确的。(这个步骤不一定要做,只是一个选项供您确认)。*****************************************************.DRBL服务器已经就绪! 现在请设定客户端电脑由PXE开机(参考4步安装法的第四步骤)。打开客户端电脑,然后开始享用DRBL吧!PS. drblpush存了一个配置文件在/etc/drbl/drblpush.conf。因此下次如果您要使用同样的配置文件方式来重新执行一次drblpush,可以这样执行: drblpush -c /etc/drbl/drblpush.conf
同样,不知道的项目直接回车,默认是NO,drblpush -i --language 2显示中文
之后设定客户端PXE启动(与两张网卡同属一个网段的客户机都可以PXE启动,即只要是1.1.1.0/24;88.88.88.0/24网段的客户机,都可以PXE启动进入DRBL,如果只有一张网卡,则客户机获取虚拟地址192.168.122.0/24):
镜像挂载
执行完“DRBL用户端设置”,结尾会要求您必须要再执行"dcs" -> clonezilla-start来启动再生龙clonezilla服务,客户端开机的时候也才会出现再生龙的菜单
不必执行它,自带的clonezilla无法修改语言(默认是英文),这里我们使用镜像挂载的方式,方便客制化
去到再生龙官网下载clonezilla live ISO镜像至/tftpboot目录(如clonezilla-live-2.7.3-19-amd64.iso):[clonezilla live稳定版ISO下载地址
执行:drbl-sl -i clonezilla-live-2.7.3-19-amd64.iso#将clonezilla挂载到DRBL菜单目录
[root@DRBL tftpboot]# drbl-sl -i clonezilla-live-2.7.3-19-amd64.iso This ISO file clonezilla-live-2.7.3-19-amd64.iso is for Clonezilla live.*****************************************************.这个程序会制作一个DRBL环境中的无碟环境给这一个小型的GNU/Linux免安装软件包: Clonezilla Live您确认要继续执行? [Y/n] yOK, 我们继续做吧!Mounting the iso file clonezilla-live-2.7.3-19-amd64.iso at mounting point /tmp/drblsl_tmp.Hru1mYmount: /dev/loop0 写保护,将以只读方式挂载Finding the kernel and initrd from iso...Found the kernel: /tmp/drblsl_tmp.Hru1mY//live/vmlinuzFound the initrd: /tmp/drblsl_tmp.Hru1mY//live/initrd.imgCopying kernel /tmp/drblsl_tmp.Hru1mY//live/vmlinuz as /tftpboot/nbi_img/Clonezilla-live-vmlinuz...Copying initrd /tmp/drblsl_tmp.Hru1mY//live/initrd.img as /tftpboot/nbi_img/Clonezilla-live-initrd.img...Copying root image /tmp/drblsl_tmp.Hru1mY//live/filesystem.squashfs to /tftpboot/nbi_img... 这可能会需要一点时间...sending incremental file listfilesystem.squashfs264,945,664 100% 301.48MB/s 0:00:00 (xfr#1, to-chk=0/1)Append the Clonezilla Live config in /tftpboot/nbi_img/pxelinux.cfg/default...Append the Clonezilla Live config in /tftpboot/nbi_img/grub/grub.cfg...*****************************************************.现在请设定客户端电脑由PXE开机(参考4步安装法的第四步骤)。打开客户端电脑,然后开始享用DRBL吧!
客制化clonezilla live
1.修改clonezilla live为默认PXE启动项
dcs -nl more switch-pxe-menu "-i Clonezilla-live setdefault"
2.修改clonezilla live界面语言
[root@DRBL tftpboot]# vim /tftpboot/nbi_img/pxelinux.cfg/default
参数说明:
注:APPEND initrd=Clonezilla-live-initrd.img boot=live union=overlay noswap noeject nolocales vga=788 locales=zh_CN.UTF-8 keyboard-layouts=NONE fetch=tftp://1.1.1.11/Clonezilla-live-filesystem.squashfs
noswap noeject nolocales #PXE启动进入clonezilla live无需等待加载(不然会卡在DRBL菜单页面等待加载一段时间)vga=788 locales=zh_CN.UTF-8 keyboard-layouts=NONE #以VGA800 x 600显示,不设置VGA会显示异常,简体中文,默认英文键盘fetch=tftp://1.1.1.11/Clonezilla-live-filesystem.squashfs #设置TFTP传输地址,设置为两张网卡或虚拟网卡IP中的一个都可以
额外提醒:不同PXE启动模式下配置文件存放位置不同
参考文档:
DRBL官网安装教程
CSDN用户发表的DRBL安装教程
VGA设置说明
clonezilla开机参数设定
将clonezilla放置在PXE网络开机服务器中