Linux 第56,57天 anacoda,cobller

Linux 第56,57天 anacoda,cobller

時間: 20180918

時間: 20180919


目錄

kickstart文件

DHCP服務

製作pxe自動安裝linux

自動化安裝系統cobbler

總結


kickstart文件

一個Linux安裝時可以實現自動化的配置文件,當爲安裝系統的內核傳遞某參數讓其讀取此配置

文件時可以使手動的應答安裝如選擇語言,格式化硬盤,安裝什麼軟件,鍵盤佈局,時區,網絡

等,全都不需要再次選擇,將所有的選擇放置kickstart文件中,即會自動的將上述配置自動化

完成。即可實現自動化安裝,而不需要手式人爲選擇,當然此配置文件有一定的語法格式


常規選項

rootpw (required) 指定root密碼

--iscrypted 使密碼加密放在後方

part or partition (required) 格式化分區

part|partition mntpoint --name=name --device=device --rule=rule

--size=#M 指定分區大小

--grow 指定設置爲硬盤分區所有容量

--maxsize= 如果和--grow連用,即成長容量,最大不可超過此值

--noformat 不格式化分區

--onpart= 指定分區

--ondisk= 指定硬盤

--asprimary 設置爲主分區(激活分區)

--fstype= 指定文件系統類型

lang (required) 設置語言

en_US.UTF-8 設置語言爲英文

keyboard (required)設置鍵盤佈局

--vckeymap=us    設置VConsole鍵盤佈局

--xlayouts='us' 設置x鍵盤佈局X個人感覺是圖形終端的意思

bootloader (required) 設置bootloader如何安裝,安裝位置

--append=" crashkernel=auto"  指定額外的內核參數

--location=mbr 指定boot記錄寫在哪裏

--boot-drive=sda 指定哪個設備 

timezone (required) 設置時區

Asia/Shanghai  時區爲上海

--isUtc     

--nontp 不使用network time pro

clearpart (optional) 清除原來盤上的分區

--drives=/dev/sda 指定清除分區的設備

--none 不清除原分區

--initlabel 

The --initlabel option has been deprecated. To initialize disks 

with invalid partition tables and clear their contents, use the

zerombr command.

firewall (optional) 啓用或禁用firewall

ignoredisk (optional) 忽略硬盤檢查,如果使用SAN設置時需要忽略

--only-use=sda 表示只使用sda硬盤做爲安裝盤

network (optional) 配置網絡

--bootproto=dhcp|static

--device=ifname

--onboot=on|off

--activate

--no-activate

--hostname

repo (optional) 配置額外的yum repositories

--name=repoID

--baseurl=repo-link

selinux (optional) 設置是否啓用selinux

--enforcing

--permissive

--disable

text (optional) 使用文本模式安裝系統,即不顯示圖形方式(佔用資源少)

user (optional) 配置添加某用戶

-name=USERNAME

--password=加密的密碼

--iscrypted 加此選項表示密碼已經加密

volgroup (optional) LVM管理

volgroup name partition[PVname] [options]

--pesize=4MB 默認

logvol montpoint --fstype --size=# --name=lvname --vgname=vgName

zerombr (optional) 初始化硬盤首部

firstboot (optional) 是否第一次啓動就執行安裝步驟

--enable

--disable

install (optional) 默認的安裝方式 cdrom harddrive nfs liveimg url

url --url=/path/ISOpath 如使用網絡安裝一般爲此選項常用

cdrom 使用光盤安裝則使用此選項

auth or authconfig (optional) 設置系統認證方式

--enableshadow 使用shadow password來做系統的認證

--passalgo=sha512  設置密碼hashing 算法

services (optional) 設置要啓用或禁用哪些服務

--disabled="chronyd"

reboot (optional) 安裝完成後自動重啓系統

skipx (optional) If present, X is not configured on the installed system.



硬盤分區設置lvm

ignoredisk --only-use=sda

zerombr

clearpart --drives=sda --all

bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda

part /boot --fstype="xfs" --ondisk=sda --size=1024

part pv.01 --fstype="lvmpv" --ondisk=sda --size 1 --grow

volgroup --pesize=4096 skyVG pv.01

logvol swap --fstype="swap" --size=2048 --name=swap --vgname=skyVG

logvol / --fstype="xfs" --size=50000 --name=root --vgname=skyVG

logvol /data --fstype="xfs" --size=1 --grow --name=data --vgname=skyVG


注意:可選不代表不指定哦,有的可選選項也很重要

%packages 指定要安裝的包@爲包組 

@^minimal

@core

kexec-tools

%end


%pre 安裝前腳本

%end

%post 安裝後執行腳本

%end


DHCP服務

DHCP的8種報文

DHCP DISCOVER 

DHCP OFFER

DHCP REQUEST

DHCP ASK

DHCP NAK

DHCP DECLINE

DHCP RELEASE

DHCPINFORM




製作pxe自動安裝linux

原理

客戶端設置基於網絡pxe啓動,服務器端開啓dhcp,tftpd,http。 dhcp爲客戶端分發地址,併爲

其指定一個tftp服務器地址並指引給客戶端向tftp服務器請求文件名爲pxelinux.0的文件,此文

件會讓客戶請求讀取tftp服務器上pxelinux.cfg目錄下的default配置文件,根據default配置

文件內容客戶端則會下載tftp服務器上的vmlinuz以及initrd文件等並在本地執行,此時內核文

件便會被本地加載至內存,然後就可以讀取ks文件,即事先建立好的http服務相應的路徑下便會

有yum倉庫文件和自動應答文件kickstart,並下載相應的包來進行安裝配置,由此便可實現基

於網絡的linux系統安裝完成


配置步驟

1.配置http建立yum倉庫和ks文件

yum -y install httpd

ks文件格式已經在上述講過這裏直接生成一個ks文件名爲cent7.ks

cp cent7.ks /var/www/html/ks/

將光盤鏡像下的倉庫放置於/var/www/html/os/7

systemctl start httpd

2.開啓tftp服務以及,相應目錄的配置文件/var/lib/tftpboot

yum install -y tftp-server syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

掛載ceotos原版光盤copy其isolinux目錄下的vmlinuz和initrd.img 我掛載在/mnt下

cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

timeout 600

label linux

  menu label ^Install CentOS 7  

  kernel vmlinuz

  append initrd=initrd.img inst.ks=http://192.168.48.72/ks/cent7.ks

label local

  menu label Boot from ^local drive

  menu default

  localboot 0xffff


systemctl start tftp


3.配置dhcp服務

yum install dhcp

vim /etc/dhcp/dhcpd.conf

subnet 192.168.48.0 netmask 255.255.255.0 {

range 192.168.48.200 192.168.48.230;

filename "pxelinux.0";

next-server 192.168.48.72;

}

systemctl start dhcpd


自動化安裝系統cobbler

cobbler是一個方便的自動化系統安裝工具,它可以幫且你配置tftp目錄,以及安裝系統使用

uefi,gpt分區等,簡化了用戶的配置,把大多數的配置都集成到cobbler裏,而不需要用戶再

去配置各服務的配置文件。

1. 安裝

yum install -y cobbler dhcp

2. 配置

啓動服務

systemctl start httpd cobblerd tftp

檢查cobbler配置 使用cobbler check 會提示錯誤將其逐角解決即可,如完成後

重啓cobbler服務  並執cobbler sync同步

常見需要修改的有

vim /etc/cobbler/settings

server: 127.0.0.1  修改cobbler 服務器IP

next_server: 127.0.0.1 修改爲tftp服務的IP

default_password_crypted: 配置安裝的系統root密碼

manage_dhcp: 1 設置爲1,表示使用cobbler來管理dhcp服務


vim /etc/cobbler/dhcp.template 將其改爲正確的IP

subnet 192.168.48.0 netmask 255.255.255.0 {

option routers             192.168.48.2;

option domain-name-servers 192.168.48.2;

option subnet-mask         255.255.255.0;

range dynamic-bootp        192.168.48.200 192.168.48.254;


下載network bootloader

cobbler get-loaders


一切完成後重啓服務systemctl restart cobbler

執行同步 cobbler sync


導入第一個要安裝的系統centOS7

掛載光盤至/mnt目錄

執行命令將其導入至cobbler數據庫中

cobbler import --arch=x86_64 --path=/mnt --name=CentOS7_3


準備kickstart文件爲該distro(我前邊已經設置好了ks文件名爲cent6.ks)

cp cent6.ks /var/lib/cobbler/kickstarts/

cobbler profile add --name=Cent6_Mini_KS 

--kickstart=/var/lib/cobbler/kickstarts/cent6.5.ks --distro=Centos6.5

上邊兩行爲一條命令含義就是將剛剛的鏡像添加kickstart文件


此時配置完成


3. 測試

驗證各選項是否配置正常

ss -tunl 檢查67 69 80 端口是否開啓

cobbler check 查看cobbler是否有未解決的問題

cobbler sync 同步配置於向文件夾中 

tail -f /var/log/cobbler/cobbler.log   跟蹤查看cobbler日誌


此時啓動要安裝系統的客戶機即可發現此日誌會有數據生成,也可以查看錯誤


總結

1. kickstart文件裏pv.01是不可變動的,否則會提示錯誤,因爲pv的名字就是分區名

2. ks文件如果使用cobbler --url=$tree但是如果使用pxe則需要將其修改爲指定的repo

3. cent7和cent6的分區格式是不同的,在kickstart指定時需要注意

4. 如果不慎將/var/www/cobbler目錄裏的文件刪除需要重新安裝一下cobbler,裏邊有幾個

python腳本


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章