CentOS7 网络安装流程
一直就很想通過網絡安裝一下我鐘愛的linux系統,老是搞不定,昨天花了一整天的時間來琢磨研究,功夫不負有心人,搞定啦!highing(妹的,怕用錯單詞 去查了下,妹的字典也騙人)我就要highing ^-^
怕以后忘了,特記作在此,廢話少說,開始吧!
先說下原理:首先開機從網絡啟動,它需要從網絡里面找dhcp服務器,dhcp服務器會給它分配ip地址、網關、dns、還有tftp服務,然后在tftp服務器里面找啟動文件和啟動配置文件,啟動文件也就是所謂的bootloader,根據bootloader的配置文件,加載tftp服務器上的linux內核(vmlinuz)和虛擬文件系統(initrd.img),內核的配置參數 在bootloader配置文件里面已經指定,這里我不明白內核的配置參數為什么會由bootloader的配置文件提供,原來內核是由bootloader加載的,所以參數是它給內核提供,這樣一看也不難理解了。內核參數里面,會包涵一個系統安裝源,我選擇nfs安裝源,內核加載后,會加載安裝源的文件并運行,(其實安裝源上的文件就是一個linux安裝光盤上的文件)這樣其實相當于我們給系統運行了一張系統安裝光盤,下面你就可以安裝你的系統在你的機器上啦。
好了 說說具體怎么做的吧
一、安裝配置dhcp服務器 它能提供ip、網關、dns、tftp服務器的地址和tftp服務器上bootloader的名字。
1、安裝dhcp服務器sudo apt-get install isc-dhcp-server -y
2、配置dhcp服務:配置文件為/etc/dhcp/dhcpd.conf,內容如下
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;
option domain-name-servers 202.100.64.68;?? \\dns
subnet 192.168.1.0 netmask 255.255.255.0 {
? option routers 192.168.1.1;??? \\網關
? range 192.168.1.100?? 192.168.1.110; \\分配地址池
? class "pxeclients" {
????? match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
????? next-server 192.168.1.53;? \\nfs服務器地址
??????? filename "pxelinux/pxelinux.0";??? \\nfs服務器上bootloader文件路徑
???? ?
? }
}
?注意:\\(注釋)是我后面加上去的,真正的配置文件里面沒有\\后面的內容,也包括\\(怕有些朋友不理解\\是注釋的意思,啰嗦一下),下面的配置文件都是這樣注釋的。
二、安裝配置tftp服務器? 它能提供bootloader文件和配置文件 linux內核,linux虛擬文件系統文件。
1、安裝tftp服務器sudo apt-get install tftpd tftp -y
????其實這一步我把tftp客戶端也裝上了
2、配置tftp服務器
配置文件為/etc/xinetd.d/tftp
內容如下:
service tftp
{
protocol??????? = udp
port??????????? = 69
socket_type???? = dgram
wait??????????? = yes
user??????????? = nobody
server????????? = /usr/sbin/in.tftpd
server_args???? = /tftpboot\\tftp根目錄
disable???????? = no \\xinet服務里是否關閉tftp服務 no即為開
}
3、放置相應的文件在/tftpboot目錄下
????3.1/tftpboot/pxelinux目錄下文件及目錄
initrd.img? pxelinux.0? pxelinux.cfg(此處為目錄)? vesamenu.c32? vmlinuz
分別說明各文件
????initrd.img(linux虛擬文件系統文件,linux安裝光盤isolinux目錄里面的)
????pxelinux.0(bootloader文件,網上下載的,各處找不到,云盤里面搜的)
????vesamenu.c32(bootloader調用的一個文件,我是安裝了syslinux,然后(dpkg -L syslinux| grep vesamenu.c32)搜索這個文件的安裝位置,copy過來的。)
????vmlinuz(linux內核文件,linux安裝光盤isolinux目錄里面的)
????3.2添加pxelinux.0的配置文件
????????mkdir pxelinux.cfg
????????cd pxelinux.cfg
????????sudo vim default
????????default文件內容如下:
default vesamenu.c32
prompt 1
timeout 600
label linux
? menu label Install system
? menu default
? kernel vmlinuz
? append initrd=initrd.img ip=dhcp inst.repo=nfs:192.168.1.53:/nfs \\指定了nfs服務器的ip地址
保存退出
三、配置nfs服務器 提供nfs服務,共享一張安裝光盤
????1、安裝nfs服務程序及客戶端程序sudo apt-get install nfs-kernel-server nfs-common -y
????2、配置nfs服務 配置文件為/etc/exports
????內容如下:
????/nfs??? *(rw,sync,no_root_squash)
????3、創建/nfs目錄,并掛在CentOS.iso文件
?? ????????sudo? cd /;mkdir nfs
?????????? sudo? mount CentOS.iso /nfs
四、啟動三個服務
????sudo service isc-dhcp-server restart;sudo service nfs-kernel-server restart;sudo service xinetd restart
^-^大功搞成,去測試吧!
轉載于:https://blog.51cto.com/jerrywilson/1631638
總結
以上是生活随笔為你收集整理的CentOS7 网络安装流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: **[权限控制] 利用CI钩子实现权限认
- 下一篇: 1. 初探MongoDB —— 介绍、安