運(yùn)維部署自動(dòng)化實(shí)踐(一)利用PXE遠(yuǎn)程自動(dòng)化安裝Ubuntu16.04 server

前言

因?yàn)轫?xiàng)目需要(實(shí)際是沒(méi)有人手。招拙。迫像。)瞳遍,需要搞開(kāi)發(fā)的我自己來(lái)搭建服務(wù)器集群環(huán)境,并完成軟件服務(wù)的自動(dòng)化部署由缆。本文及后續(xù)文章猾蒂,記錄運(yùn)維部署自動(dòng)化實(shí)踐中的每一步工作,便于以后追蹤參考舔箭。

本文先完成第一步工作:遠(yuǎn)程自動(dòng)化安裝Linux系統(tǒng)

目標(biāo)

技術(shù)方案選擇:PXE+dhcp+tftp+kickstart 安裝ubuntu16.04 server

宿主機(jī):ubuntu16.04 desktop
目標(biāo)服務(wù)器:(1)Dell Poweredge R540
(2)VMware虛擬機(jī)
安裝鏡像: ubuntu-16.04.5-server-amd64.iso

安裝步驟:

安裝運(yùn)行 dhcp tftp及 http服務(wù)
  1. dhcp

安裝isc-dhcp-server
sudo apt-get install isc-dhcp-server

修改/etc/default/isc-dhcp-server

INTERFACES="enp0s31f6" #通過(guò)ifconfig得到網(wǎng)卡名稱

修改/etc/dhcp/dhcpd.conf蚊逢,添加如下配置:

subnet 192.168.1.0 netmask 255.255.255.0 {
       range 192.168.1.50 192.168.1.100;
       option subnet-mask 255.255.255.0;
       option routers 192.168.1.1;
       option domain-name-servers 192.168.1.1;  #在辦公室實(shí)驗(yàn)烙荷,dns服務(wù)器地址配到了路由器上
       option broadcast-address 10.255.255.255;
       filename "pxelinux.0";
       next-server 192.168.1.110;  #宿主機(jī)IP
}

運(yùn)行dhcp服務(wù)
sudo service isc-dhcp-server start

  1. tftp

安裝tftpd-hpa
sudo apt-get install tftpd-hpa

修改/etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

創(chuàng)建tftp目錄
sudo mkdir /var/lib/tftpboot
sudo chmod 777 /var/lib/tftpboot
運(yùn)行tftp
sudo service tftp-hpa start

  1. http

安裝apache2
sudo apt-get install apache2
apache 默認(rèn)的根目錄是/var/www/html ,使用默認(rèn)配置啟動(dòng)apache
sudo service apache2 start
通過(guò)瀏覽器訪問(wèn)http://192.168.1.110 測(cè)試http服務(wù)已開(kāi)啟

image.png

布置PXE相關(guān)文件
  1. 將ubuntu鏡像mount到http目錄下
    sudo mkdir /var/www/html/ubuntu
    sudo mount ~/Downloads/ubuntu-16.04.5-server-amd64.iso /var/www/html/ubuntu
  2. 拷貝啟動(dòng)文件到tftp目錄
    sudo cp -r /var/www/html/ubuntu/install/netboot/* /var/lib/tftpboot/
  3. 拷貝seed文件到http根目錄
    sudo cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/
  4. 編輯ubuntu-server.seed文件桶至,在最下方添加如下配置:
d-i live-installer/net-image string http://192.168.1.110/ubuntu/install/filesystem.squashfs
d-i pkgsel/include string openssh-server
  1. 修改/var/lib/tftpboot/pxelinux.cfg/default
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
path ubuntu-installer/amd64/boot-screens/
include ubuntu-installer/amd64/boot-screens/menu.cfg
default ubuntu-installer/amd64/boot-screens/vesamenu.c32
prompt 0
timeout 60  
  1. 修改/var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg 為以下內(nèi)容:
default install
label install
    menu label ^Install
    menu default
    kernel ubuntu-installer/amd64/linux
    append ks=http://192.168.1.110/ks.cfg preseed/url=http://192.168.1.110/ubuntu-server.seed netcfg/get_nameservers=192.168.1.110  vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
    menu label ^Command-line install
    kernel ubuntu-installer/amd64/linux
    append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

從修改內(nèi)容看出镣屹,主要是為了添加pxe服務(wù)器的地址季率,以便目標(biāo)機(jī)能夠找到對(duì)應(yīng)的ks.cfg以及seed文件。

Kickstart
  1. 安裝Kickstart工具
    sudo apt-get install system-config-kickstart
  2. 通過(guò)Kickstart工具配置鞭光,生成ks.cfg泞遗,內(nèi)容如下:
#Generated by Kickstart Configurator
#platform=x86

#System language
lang en_US
#Language modules to install
langsupport zh_CN --default=en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone Asia/Shanghai
#Root password
rootpw --disabled
#Initial user
user deepctrl --fullname "deepctrl" --iscrypted --password $1$l/vuHXXI$J0poU17Gk3F7z70sny0bn/
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://192.168.1.110/ubuntu  # 指定安裝文件的路徑
#System bootloader configuration
bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel 
#Disk partitioning information
part /boot --fstype ext4 --size 200 
part /boot/efi --fstype vfat --size 4
part swap --size 2000 
part / --fstype ext4 --size 5000 --grow 
#System authorization infomation
auth  --useshadow  --enablemd5 
#Network information
#network --bootproto=dhcp --device=enp0s31f6
#Firewall configuration
firewall --disabled 
#Do not configure the X Window System
skipx
%package
openssh-server

%post

將ks.cfg文件拷貝至http根目錄
sudo cp ks.cfg /var/www/html/

目標(biāo)機(jī)設(shè)置
  1. Dell服務(wù)器
    啟動(dòng)電源后按F2進(jìn)入系統(tǒng)設(shè)置史辙,將啟動(dòng)方式由UEFI修改為BIOS,將PXE啟動(dòng)項(xiàng)打鉤晦毙。同時(shí)確認(rèn)下對(duì)應(yīng)的網(wǎng)卡是否已開(kāi)啟PXE選項(xiàng)耙蔑。然后保存配置重啟
  2. 虛擬機(jī)
    VMware虛擬機(jī)未做額外設(shè)置,只創(chuàng)建了一個(gè)空的虛擬機(jī)然后啟動(dòng)即可
安裝結(jié)果

Dell服務(wù)器與虛擬機(jī)均可自動(dòng)開(kāi)啟安裝過(guò)程须揣,虛擬機(jī)全程無(wú)干擾安裝完畢钱豁。

問(wèn)題

Dell服務(wù)器安裝過(guò)程中報(bào)錯(cuò):

the partition table format in use on your disks normally requires you to create a separate partition for boot loader code. this partition should de marked for use as a "reserved bios boot area" and should de at least 1 mb in size. note that this is not same as a partition mounted in /boot.

if you do not go back to the partitioning menu and correct,boot loader installation may fail later,although it may still be possible to install the loader to a partition.

在這一步卡住后安裝程序無(wú)法自動(dòng)執(zhí)行,我手工點(diǎn)擊忽略后系統(tǒng)也能夠繼續(xù)安裝完畢卵酪。

網(wǎng)上各種搜谤碳,看到一些評(píng)論說(shuō)debian系的linux不建議用kickstart安裝,建議直接使用preseed配置來(lái)安裝塑煎,接下來(lái)研究下看看能不能解決問(wèn)題臭蚁。
問(wèn)題鏈接:https://serverfault.com/questions/658070/kickstarting-ubuntu-14-04-how-do-i-create-an-efi-boot-partition-from-my-ks-cf

下一章:運(yùn)維部署自動(dòng)化實(shí)踐(二)PXE+Preseed自動(dòng)安裝Ubuntu16.04 server

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市冷尉,隨后出現(xiàn)的幾起案子雀哨,更是在濱河造成了極大的恐慌,老刑警劉巖雾棺,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捌浩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡进统,警方通過(guò)查閱死者的電腦和手機(jī)浪听,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掉分,“玉大人迈螟,你說(shuō)我怎么就攤上這事尔崔。” “怎么了洗搂?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵载弄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惫叛,道長(zhǎng)逞刷,這世上最難降的妖魔是什么妻熊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任扔役,我火速辦了婚禮警医,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侈玄。我一直安慰自己吟温,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布诱桂。 她就那樣靜靜地躺著呈昔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肝劲。 梳的紋絲不亂的頭發(fā)上郭宝,一...
    開(kāi)封第一講書(shū)人閱讀 49,806評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音榄檬,去河邊找鬼衔统。 笑死,一個(gè)胖子當(dāng)著我的面吹牛舱殿,可吹牛的內(nèi)容都是我干的险掀。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼冈绊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了焚碌?” 一聲冷哼從身側(cè)響起十电,我...
    開(kāi)封第一講書(shū)人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎台盯,沒(méi)想到半個(gè)月后畏线,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蒿叠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年市咽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抵蚊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谷醉,死狀恐怖冈闭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拒秘,我是刑警寧澤臭猜,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布蔑歌,位于F島的核電站,受9級(jí)特大地震影響次屠,放射性物質(zhì)發(fā)生泄漏雳刺。R本人自食惡果不足惜裸违,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一供汛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怔昨,春花似錦、人聲如沸趁舀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矮烹。三九已至越庇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奉狈,已是汗流浹背悦荒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘹吨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓蟀拷,卻偏偏與公主長(zhǎng)得像碰纬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子问芬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容