實戰-使用 Cobbler 安裝作業系統
搭建好 Cobbler 服務端後,使用預設的 kickstarts 引導檔案對客戶端安裝系統,且預設安裝的是最小化的系統。我們可以自定義 kickstarts 引導檔案進而實現對客戶端的自定義安裝系統。 |
環境:
release 7.6.1810
VMware Workstation Pro 14
檢視預設的 ks 檔案
[root@Jaking ~]# cobbler report distros: ========== Name : CentOS-7.6-x86_64 Architecture : x86_64 TFTP Boot Files : {} Breed : redhat Comment : Fetchable Files : {} Initrd : /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/initrd.img Kernel : /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/vmlinuz Kernel Options : {} Kernel Options (Post Install) : {} Kickstart Metadata : {'tree': '} Management Classes : [] OS Version : rhel6 Owners : ['admin'] Red Hat Management Key : <> Red Hat Management Server : <> Template Files : {} profiles: ========== Name : CentOS-7.6-x86_64 TFTP Boot Files : {} Comment : DHCP Tag : default Distribution : CentOS-7.6-x86_64 Enable gPXE? : 0 Enable PXE Menu? : 1 Fetchable Files : {} Kernel Options : {} Kernel Options (Post Install) : {} Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks Kickstart Metadata : {} Management Classes : [] Management Parameters : <> Name Servers : [] Name Servers Search Path : [] Owners : ['admin'] Parent Profile : Internal proxy : Red Hat Management Key : <> Red Hat Management Server : <> Repos : [] Server Override : <> Template Files : {} Virt Auto Boot : 1 Virt Bridge : xenbr0 Virt CPUs : 1 Virt Disk Driver Type : raw Virt File Size(GB) : 5 Virt Path : Virt RAM (MB) : 512 Virt Type : kvm
注: distros 是發行版本,即光碟映象資訊。 profiles 指的是 ks 應答檔案。 systems 是指通 Cobbler 安裝好的物理機名稱。
[root@Jaking ~]# cd /var/lib/cobbler/kickstarts/ [root@Jaking kickstarts]# ls default.ks legacy.ks sample_esx4.ks sample.ks esxi4-ks.cfg pxerescue.ks sample_esxi4.ks sample_old.seed esxi5-ks.cfg sample_autoyast.xml sample_esxi5.ks sample.seed install_profiles sample_end.ks sample_esxi6.ks sample.seed.28
可以看到有很多預設的配置檔案。
上傳 CentOS7.ks 到 Cobbler 伺服器上。CentOS7.ks 這個配置檔案裡面安裝了開發工具相關軟體包。
[root@Jaking kickstarts]# rz[root@Jaking kickstarts]# ls CentOS7.ks install_profiles sample_end.ks sample_esxi6.ks sample.seed.28 default.ks legacy.ks sample_esx4.ks sample.ks esxi4-ks.cfg pxerescue.ks sample_esxi4.ks sample_old.seed esxi5-ks.cfg sample_autoyast.xml sample_esxi5.ks sample.seed [root@Jaking kickstarts]# cat CentOS7.ks # Cobbler for Kickstart Configurator for CentOS 7 by clsn install url --url=$tree text lang en_US.UTF-8 keyboard us zerombr bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #Network information $SNIPPET('network_config') #network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7 timezone --utc Asia/Shanghai authconfig --enableshadow --passalgo=sha512 rootpw --iscrypted $default_password_crypted clearpart --all --initlabel part /boot --fstype xfs --size 1024 part swap --size 1024 part / --fstype xfs --size 1 --grow firstboot --disable selinux --disabled firewall --disabled logging --level=info reboot %pre $SNIPPET('log_ks_pre') $SNIPPET('kickstart_start') $SNIPPET('pre_install_network_config') # Enable installation monitoring $SNIPPET('pre_anamon') %end %packages @additional-devel @development @platform-devel bash-completion chrony dos2unix kexec-tools lrzsz sysstat tree vim wget git net-tools %end %post systemctl disable postfix.service %end [root@Jaking kickstarts]# cobbler profile list #檢視當前啟動項,使用的配置檔案 CentOS-7.6-x86_64
修改 name 是 CentOS-7.6-x86_64 的 kickstart 檔案為 CentOS7.ks
[root@Jaking kickstarts]# cobbler profile edit --name CentOS-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.ks [root@Jaking kickstarts]# cobbler report | grep Kickstart Kickstart Metadata : {'tree': '} Kickstart : /var/lib/cobbler/kickstarts/CentOS7.ks Kickstart Metadata : {}
透過給核心傳引數,修改網路卡名稱為 eth0
[root@Jaking kickstarts]# cobbler profile edit --name CentOS-7.6-x86_64 --kopts='net.ifnames=0 biosdevname=0'
配置檔案內容如下:
[root@Jaking kickstarts]# vim CentOS7.ks #檢視配置檔案中的,預設就可以,不需要修改 # Cobbler for Kickstart Configurator for CentOS 7 by clsn Install #安裝系統 url --url=$tree #url 地址為 Cobbler 內建變數 text #文字方式安裝,修改為圖形介面則為 Graphical lang en_US.UTF-8 #語言 keyboard us #鍵盤 zerombr #該引數用於清除引導資訊,需要讓其生效可以在引數後新增 yes 即可。可選項,一般不用。 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #指定引導裝載程式怎樣被安裝.對於安裝和升級,這個選項都是必需的. #Network information $SNIPPET('network_config') #該參數列示使用下方%pre 中的指令碼來配置網路,相關指令碼存放於/var/lib/cobbler/snippets #如果不需要指令碼配置可啟用以下配置 #network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7 timezone --utc Asia/Shanghai #時區 authconfig --enableshadow --passalgo=sha512 #加密 shadow rootpw --iscrypted $default_password_crypted #設定 root 密碼 clearpart --all --initlabel #--all 初除所有分割槽,後者將磁碟標籤初始化為預設值設定。 part /boot --fstype xfs --size 1024 #boot分割槽大小 part swap --size 1024 #swap分割槽大小 part / --fstype xfs --size 1 --grow #根分割槽大小 firstboot --disable #決定是否在系統第一次引導時啟動"設定代理”,禁用。 selinux --disabled #在系統裡設定 SELinux 狀態 firewall --disabled #在系統狸設定而防火牆狀態 logging --level=info #這個命令控制安裝過程中anaconda的錯誤日誌,它對安裝好的系統沒有影響。 reboot #安裝後重啟 %pre #pre 中定了前面使用的具體指令碼名稱。 $SNIPPET('log_ks_pre') $SNIPPET('kickstart_start') $SNIPPET('pre_install_network_config') # Enable installation monitoring $SNIPPET('pre_anamon') %end %packages #自定義安裝內容,這裡可以可以自行生成 ks 檔案然後把對應的配置複製到這裡。當前配置為最小化安裝,以及安裝系統常用工具。 @additional-devel @development @platform-devel bash-completion chrony dos2unix kexec-tools lrzsz sysstat tree vim wget git net-tools %end %post #安裝後執行操作,可以執行指令碼也可以直接執行命令。 systemctl disable postfix.service %end
定製 Cobbler 引導選單(名稱、超時時間、預設啟動選單)
[root@Jaking kickstarts]# vim /etc/cobbler/pxe/pxedefault.template DEFAULT menu PROMPT 0 MENU TITLE Jaking #選單名稱 TIMEOUT 100 #超時時間 TOTALTIMEOUT 6000 ONTIMEOUT $pxe_timeout_profile LABEL local MENU LABEL (local) MENU DEFAULT LOCALBOOT -1 $pxe_menu_items #該變數是我自定義的引導選單,複製到 LABEL local 配置項上方,否則預設啟動還是 local。 MENU end
同步 Cobbler 配置
[root@Jaking kickstarts]# systemctl restart cobblerd [root@Jaking kickstarts]# cobbler sync task started: 2020-01-04_050537_sync task started (id=Sync, time=Sat Jan 4 05:05:37 2020) running pre-sync triggers cleaning trees removing: /var/www/cobbler/images/CentOS-7.6-x86_64 removing: /var/lib/tftpboot/pxelinux.cfg/default removing: /var/lib/tftpboot/grub/images removing: /var/lib/tftpboot/grub/grub-x86.efi removing: /var/lib/tftpboot/grub/grub-x86_64.efi removing: /var/lib/tftpboot/grub/efidefault removing: /var/lib/tftpboot/images/CentOS-7.6-x86_64 removing: /var/lib/tftpboot/s390x/profile_list copying bootloaders trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi copying distros to tftpboot copying files for distro: CentOS-7.6-x86_64 trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-7.6-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-7.6-x86_64/initrd.img copying images generating PXE configuration files generating PXE menu structure copying files for distro: CentOS-7.6-x86_64 trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-7.6-x86_64/vmlinuz trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-7.6-x86_64/initrd.img Writing template files for CentOS-7.6-x86_64 rendering DHCP files generating /etc/dhcp/dhcpd.conf rendering TFTPD files generating /etc/xinetd.d/tftp processing boot_files for distro: CentOS-7.6-x86_64 cleaning link caches running post-sync triggers running python triggers from /var/lib/cobbler/triggers/sync/post/* running python trigger cobbler.modules.sync_post_restart_services running: dhcpd -t -q received on stdout: received on stderr: running: service dhcpd restart received on stdout: received on stderr: Redirecting to /bin/systemctl restart dhcpd.service running shell triggers from /var/lib/cobbler/triggers/sync/post/* running python triggers from /var/lib/cobbler/triggers/change/* running python trigger cobbler.modules.manage_genders running python trigger cobbler.modules.scm_track running shell triggers from /var/lib/cobbler/triggers/change/* *** TASK COMPLETE ***
新建虛擬機器進行測試。
注意:記憶體要足夠大,網路模式要和 Cobbler 服務端的網路模式一致。
建立過程省略,直接來到開機啟動介面:
可以看到,需要安裝 1262 個包,不再是原來的最小化安裝了。
安裝成功後,預設啟動命令列模式
輸入 root 123456 登入系統:
設定預設啟動模式為圖形化模式 graphical.target
[root@localhost ~]# systemctl get-default multi-user.target [root@localhost ~]# systemctl set-default graphical.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target. [root@localhost ~]# systemctl get-default graphical.target [root@localhost ~]# reboot
不能正常啟動圖形化模式
安裝圖形化軟體
[root@localhost ~]# yum install -y xorg* gnome* glx*
切換到圖形化模式
[root@localhost ~]# init 5
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2713800/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cobbler實現自動化安裝作業系統作業系統
- 實戰-使用 Cobbler 定製化安裝指定系統
- 實戰-使用 Cobbler 安裝一臺 CentOS 主機CentOS
- Cobbler自動化批量安裝Linux作業系統 - 運維總結Linux作業系統運維
- RedHat 7.6作業系統安裝Redhat作業系統
- 【Oracle安裝與作業系統使用者組】Oracle作業系統
- Windows 11 作業系統安裝方法Windows作業系統
- oam系統安裝,windows作業系統註冊列表影響系統安裝Windows作業系統
- 恆訊科技分析:如何使用IPMI安裝作業系統?作業系統
- 使用 Cobbler 安裝一臺 CentOS 主機CentOS
- 作業-安裝虛擬機器以及CentOS作業系統虛擬機CentOS作業系統
- Powershell 命令列安裝 Windows 作業系統命令列Windows作業系統
- 在Ubuntu作業系統裡安裝DockerUbuntu作業系統Docker
- 多種方式批量安裝作業系統作業系統
- VMWare安裝蘋果作業系統OS X蘋果作業系統
- Solaris8作業系統安裝(轉)作業系統
- 硬碟中安裝Linux作業系統硬碟Linux作業系統
- Cobbler部署指南之安裝虛擬化Xen系統篇薦
- Linux作業系統中安裝VMware ToolsLinux作業系統
- Windows作業系統安裝MySQL解壓版Windows作業系統MySql
- window 作業系統,安裝 mongodb.zip 包作業系統MongoDB
- Solaris 8 for Intel 作業系統的安裝(轉)Intel作業系統
- 快速安裝Windows作業系統獨家秘籍(轉)Windows作業系統
- slot號造成的作業系統不能安裝作業系統
- 硬碟工作原理與XP作業系統安裝硬碟作業系統
- 紅旗Linux作業系統安裝(轉)Linux作業系統
- 【git】Ubuntu作業系統上安裝Git LFSGitUbuntu作業系統
- 國產處理器伺服器作業系統安裝(海之舟伺服器作業系統安裝說明)伺服器作業系統
- XP和WIN7雙系統作業系統安裝教程Win7作業系統
- cobbler 批量安裝linux薦Linux
- Linux核心實戰(二)- 作業系統概覽Linux作業系統
- 實戰多種Linux作業系統共存(轉)Linux作業系統
- 樹莓派作業系統安裝和啟動樹莓派作業系統
- 天兔(Lepus)監控作業系統(OS)安裝配置作業系統
- CentOS 7.8作業系統安裝(用於生產)CentOS作業系統
- solaries作業系統安裝64位JDK1.6作業系統JDK
- 【docker專欄2】CentOS作業系統安裝DockerCEDockerCentOS作業系統
- 在linux作業系統下安裝vmware toolsLinux作業系統