當前位置:首頁 » 操作系統 » 批量部署linux

批量部署linux

發布時間: 2022-08-18 17:38:20

1. 如何使用cobbler實現批量自動部署linux

Cobbler是一個快速網路安裝linux的服務,而且在經過調整也可以支持網路安裝windows。該工具使用python開發,小巧輕便,使用簡單的命令即可完成PXE網路安裝環境的配置,同時還可以管理DHCP,DNS,以及yum包鏡像。下面一步步來實現吧.
實驗平台:rhel 6.3 x86_64
cobbler.laoguang.me 192.168.1.23
一.環境准備
1.1 安裝dhcp
yum -y install dhcp 1.2 安裝其它所需服務如:tftp xinetd httpd ##靠tftp傳輸文件,tftp依賴xinetd,httpd這個我暫時不清楚
yum -y install tftp xinetd httpd 1.3 關閉selinux iptables
setenforce 0 service iptables stop
二.安裝cobbler
2.1 下載安裝cobbler與依賴的包python-yaml
下載地址:http://www.kuaipan.cn/file/id_33139203151758501.html ,其它平台的可以去 http://rpm.pbone.net/找,這個網站你一定不能忘記
yum -y --nogpgcheck localinstall cobbler-2.2.2-1.el6.rf.noarch.rpm \python-yaml-3.09-3.el6.rf.x86_64.rpm
2.2 啟動cobbler
service cobblerd start
2.3 啟動httpd
service httpd start
2.4 啟用xinetd
service xinetd start
2.4 cobbler 檢查配置
cobbler check

2.5 重啟cobbler
service cobblerd restart
三.cobbler的配置
3.1 導入欲安裝的系統的鏡像文件
將redhat 6.3 x86_64 的ISO掛載/cdrom
mount /dev/cdrom /cdrom
導入需要的安裝文件到cobbler的/var/www/cobbler/ks_mirrors下,並生成一profile,此過程需要一段時間,耐心等待
cobbler import --path=/cdrom --name=RedHat-6.3-x86_64 3.2
配置dhcp服務,讓cobbler來管理
vi /etc/cobbler/settings
manage_dhcp: 1
3.3 修改/etc/cobbler/dhcp.template模板文件中的配置,其它的默認即可

3.4 同步cobbler配置
cobbler sync cobbler會自動進行初始化工作,移除已經存在的啟動項,然後根據模板拷貝loader文件。之後再生成pxe的配置文件,生成dhcp的配置文件,最後再重啟dhcp服務。關鍵查看dhcp,tftp有沒有啟動成功。
四.測試安裝系統
4.1 新建個虛擬機,網路記的是brige哦,新建的虛擬機網路默認是nat的,我就因為這個怎麼都安裝不上,啟動虛擬機,調整啟動順序從網路啟動(我用的是vmware,如果你沒有掛cd的iso,也虛擬機是新建的直接啟動應該是可以的)

五.定製自己的kickstart文件
定製自己的kickstart文件而不是使用默認的,kickstart文件cobbler放在了/var/lib/cobbler/kickstarts/中,查看cobbler默認使用的哪個
vi /etc/cobbler/settings
default_kickstart: /var/lib/cobbler/kickstarts/default.ks ##看到了吧,用的是default.ks
5.1 自定義kickstart文件。
如果你對kickstart文件理解透徹,直接修改或新建即可,如果還是很精通就用gui工具吧
yum -y install system-config-kickstart
安裝完畢後打開軟體。
system-config-kickstart
根據自己的需要修改即可,修改完畢後保存,修改settings中的設置,重啟cobbler即可
原文出處:http://laoguang.blog.51cto.com/6013350/1097874/

2. 寫python腳本把上述步驟打包成安裝包,把安裝包通過批量部署工具(puppet等)安裝到windows/linux電腦。

用python調用系統命令嗎?


importos
os.system('netuseraddtest123456')

這樣?

3. linux下的批量上傳文件到部署伺服器,有哪些好用的命令或者工具

其實我覺得,部署首選 git 。
因為這是同步軟體,你修改後提交,伺服器那邊收到的是修改信息,數據量小很多。
而且因為修改都是基於 log 記錄,如果被該錯了,也能發現問題。
當然具體看你的數據都是什麼。
其次就是 scp 。這東西是基於 ssh 的文件傳輸。加密的。用起來基本和 ftp 一樣,而且你可以設置伺服器只允許證書登錄,這樣黑客就不能通過破解伺服器的登錄密碼實現,必須先黑了你的機器拿到證書文件他才能登錄。
另外 git 也支持使用加密的 ssh 方式傳輸數據。

4. 在虛擬機里模擬批量部署linux系統,在安裝過程中出現這個問題,怎麼解決啊

無法載入此目錄,你選擇了什麼文件系統?使用默認的文件系統就好了。

5. 如何為linux集群批量裝機

如果是REDHAT或者Centos操作系統,可以使用Cobbler軟體來進行批量安裝。
可以使用以下方法部署CObbler

Cobbler是一個開源項目,用來部署和安裝系統。Cobbler不僅僅是一個pxe伺服器,他還可以管理dns和dhcp。一般數據中心裡或者生產環境,是不允許dhcp, 但是pxe需要使用dhcp,所以我們這里根據mac地址來分配IP,這樣dhcp就不會影響現有網路了。
1. 首先關閉selinux
sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
重新啟動linux系統

2. 關閉防火牆iptables
sudo chkconfig iptables off
sudo chkconfig ip6tables off
sudo /etc/init.d/iptables stop
sudo /etc/init.d/ip6tables stop
3. 安裝 epel 包
sudo yum install http://mirrors.ustc.e.cn/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
4. 安裝 Cobbler 和它需要的第三方工具包
sudo yum install cobbler cobbler-web xinetd pykickstart cman dhcp tftp-server bind
安裝完成後需要設置幾個服務自動啟動
sudo chkconfig httpd on
sudo chkconfig dhcpd on
sudo chkconfig cobblerd on
sudo service httpd start
sudo service cobblerd start
註:此時dhcpd應該啟動失敗,因為還沒有對dhcp做配置。

5. 配置
5.1 修改/etc/xinetd.d/tftp
disable = yes
=>
disable = no

5.2 修改/etc/xinetd.d/rsync
disable = yes
=>
disable = no

5.3 編輯 /etc/cobbler/settings 文件,設置以下各項,其中 192.168.145.102 是當前機器IP。
server: 192.168.145.102
next_server: 192.168.145.102
pxe_just_once: 1
manage_rsync: 1
manage_dhcp: 1
5.4 設置默認 root 用戶的秘密
$ sudo openssl passwd -1 -salt 'random-phrase-here' 'Letmein'
然後將結果替換 /etc/cobbler/settings 文件中的
default_password_crypted:

5.5 設置 Cobbler Web訪問的密碼
sudo htdigest /etc/cobbler/users.digest "Cobbler" cobbler
5.6 編輯 /etc/cobbler/dhcp.template 文件,下面是我改動部分的配置信息
...
subnet 192.168.145.0 netmask 255.255.255.0 {
option routers 192.168.145.102;
option domain-name-servers 192.168.145.1;
option subnet-mask 255.255.255.0;
#range dynamic-bootp 192.168.145.150 192.168.145.200;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
filename "/pxelinux.0";
host test { # 為指定機器指定ip地址
hardware ethernet 08:00:27:2C:30:8C;
fixed-address 192.168.145.155;
}
}
...
注意:如果在現有網段內已經有DHCP伺服器,需要把 range dynamic-bootp 注釋掉,否則會有沖突。這個地方需要特別注意,要根據自己的網路情況來設置。
5.7 重啟服務
sudo service xinetd restart
sudo service httpd restart
sudo service cobblerd restart
5.8 啟動和檢測 cobbler
sudo cobbler get-loaders
sudo cobbler check
此時如果有錯誤,cobbler會提示,可以根據提示來修復。但是對參數的任何修改都需要使用下面的命令來使其生效
sudo cobbler sync
5.9 Web 測試
訪問 http://192.168.145.102/cobbler_web
用戶名/密碼:cobbler/Letmein
6. 導入系統鏡像
這里假定使用CentOS-6.6-x86_64來測試
sudo mount -t auto -o loop /home/kongxx/share/os/CentOS-6.6-x86_64-bin-DVD1.iso /mnt
sudo cobbler import --path=/mnt --name=CentOS-6.6 --arch=x86_64
運行這兩條命令後,可以使用下面的命令來查看了
$ sudo cobbler distro list
$ sudo cobbler profile list
也可以通過 Web 界面的 Distros 和 Profiles 來查看。
7. 自動安裝系統
由於是在家裡的虛擬機里做測試,所以沒法使用 IPMI 來管理物理機。這里就只測試一下新的虛擬機可以通過PXE來自動安裝系統。
使用VirtualBox創建一個虛擬機,網路設置使用和上面同樣的橋接模式。但是在 "虛擬機設置-> 系統 -> 啟動順序" 里把網路勾上並上移到第一位,然後啟動虛擬機。此時就可以進入 Cobbler 的網路安裝界面,選擇上面創建的 CentOS-6.6-x86_64 然後就可以自動安裝了。裝完後,記得把虛擬機啟動順序改回到硬碟啟動優先,然後就可以啟動新安裝的虛擬機了。

6. 100台伺服器 伺服器硬碟都是空的 什麼都沒有 計劃都安裝linux7.2 關於快速安裝的問題

  1. 首先,我不理解,你其餘99台都做格式化然後拷貝已經裝過系統的硬碟這點要怎麼實現,你都沒有操作系統,怎麼拷貝,硬體級別的直接拷嗎。

  2. 其次,即使你成功了,應該也會有隱患,譬如網路mac地址這種全球唯一的字元,你到時候配置文件里100台主機的mac地址應該是完全一樣的,要全部手動修改,還有你的主機名,ip地址等等有可能需要唯一的,更不用說底層那些你修改不了的硬體地址了。

  3. 就物理機而言,你說的PXE+kickstart批量安裝應該是我所知的便捷的方式了。

7. linux 如何快速給500 台機器 執行同一條命令

要實現批量部署,前提是標准化,和自動化
1.自動化可以完成大量重復性工作
2.標准化是部署對象必須有一定的標准
比如:賬號user1密碼是usr1,user2密碼是usr2.。。

如題:
假設那500台機子IP為 192.168.1.1-250,192.168.2.1-250
第一種情況(簡單):
管理節點已經ssh公鑰傳所有主機
[root@master ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
[root@master ~]# ssh--id /root/.ssh/id_rsa.pub 192.168.1.1
我們只要執行兩個循環就能完成需求
for i in {1..250}; do ssh 192.168.1.$i "echo 1 > /etc/a.txt ";done
for i in {1..250}; do ssh 192.168.2.$i "echo 1 > /etc/a.txt ";done

第二種情況只能用密碼登陸
要求是IP,密碼必須滿足標准化
我這邊只有一個ssh捕捉信號的腳本(完成非互動式輸入密碼),雖然沒有針對需求,但樓主可以參考下。結合第一種方法完成需求。
vim /ssh.sh
#!/usr/bin/expect
# 設置超時時間為 60 秒
set timeout 60
# 設置要登錄的主機 IP 地址
set host 192.168.0.4
# 設置以什麼名字的用戶登錄
set name root
# 設置用戶名的登錄密碼
set password 123456
#spawn 一個 ssh 登錄進程
spawn ssh $host -l $name
# 等待響應,第一次登錄往往會提示是否永久保存 RSA 到本機的 know hosts 列表中;等到回答後,在提示輸出密碼;之後就直接提示輸入密碼
expect {
"(yes/no)?" {
send "yes\n"
expect "assword:"
send "$pasword\n"
}
"assword:" {
send "$password\n"
}
}
expect "#"
# 下面測試是否登錄到 $host
send "uname\n"
expect "Linux"
send_user "Now you can do some operation on this terminal\n"
# 這里使用了 interact 命令,使執行完程序後,用戶可以在 $host 終端進行交互操作。
Interact

8. 多台linux伺服器的集中統一批量布署管理,用什麼工具最好

目前python腳本用於linux伺服器主要是實現自動化的中文書只有這本《Python UNIX 和Linux 系統管理指南》本書介紹了Python語言如何為管理uNIx和Linux伺服器提供各種更加有效的任務處理方式。書中各章都提出了具體的管理問題,如並發或數據備份,...

9. 如何使用Kickstart自動批量安裝Linux客戶端

Kickstart 光碟部署實例:

----------------------ks.cfg start-------------------------------
install
cdrom
key 2515dd4e215225dd
lang en_US.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto static --ip 192.168.100.8 --netmask 255.255.255.0 --gateway 192.168.100.2 --nameserver 122.70.138.10 --hostname test.huabo.org
rootpw --iscrypted $1$BPHqwNav$CjjfBezv5OuecU3rNkdDb/
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Chongqing
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --drives=sda,sdb,sdc,sdd --initlabel
part /boot --fstype ext3 --size=100 --ondrive=sda
part / --fstype ext3 --size=4000 --ondrive=sda
part swap --size=512 --ondrive=sda
part raid.11 --size=1 --grow --asprimary --ondrive=sdb
part raid.21 --size=1 --grow --asprimary --ondrive=sdc
part raid.31 --size=1 --grow --asprimary --ondrive=sdd
raid pv.01 --device=md0 --level=RAID5 raid.11 raid.21 raid.31
volgroup vgname pv.01
logvol /home --fstype=ext3 --vgname=vgname --size=4000 --name=home
%packages
@gnome-desktop
@core
@base-x
@chinese-support
xorg-x11-utils

xorg-x11-server-Xnest
--------------------ks.cfg end-----------------------------
把ks.cfg放到光碟根目錄,然後修改系統光碟中的/isolinux/isolinux.cfg配置文件,實現光碟啟動後自動安裝。
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.1.8/ks.cfg
製作啟動安裝盤:
mkisofs -r -T -J -V "make iso " -b /isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -v -o myiso.iso ./myCD

10. Linux裡面自動化部署工具有哪些

1. Puppet
Puppet是一款開源工具,旨在為系統管理員大大簡化自動化和報告工作。它基本上是款配置管理軟體,有助於配置和維護企業網路中的伺服器及其他系統。系統管理員通常每天要花大量時間重復做同樣的任務。他們總是想要使這些任務實現自動化,以便有更多的時間來處理其他項目或學習新的概念和腳本語言。管理員可以通過編寫腳本使任務實現自動化,但是在擁有大型網路的公司,腳本不是很方便。這時候,Puppet就大有用場,因為藉助Puppet,你可以:

為網路上的每個主機定義獨特的配置設置;
不斷監測網路,查找任何變動;
幫助高效地創建和管理用戶;
幫助管理每個開源工具的配置設置。
2. CHEF
Chef是另一款可供Linux系統管理員使用的流行的自動化工具。它用Ruby和Erlang編寫,對於配置和維護公司的伺服器大有幫助,無論貴公司擁有十台伺服器還是上百台。它還可以幫助你將雲端伺服器與亞馬遜EC2、OpenStack、RackSpace或谷歌雲整合起來。Chef可以將你的基礎設施轉變成代碼,那樣藉助代碼,你只要更改幾行代碼,就能輕松撤下一台伺服器,從而讓你輕松管理伺服器。物理節點還意味著:將變更內容部署到生產環境之前,可以對它輕松進行測試,你還可以輕松控制針對代碼的每次更新的版本。Chef DK為你提供了測試和管理配置的所有工具,Chef Server充當你所有「菜譜」(recipe)的存儲庫,可以管理與伺服器連接的每個節點。Chef客戶軟體在每個客戶端上運行,時不時收到伺服器方面的信息,從而更新其配置設置。

3. CFEngine

面向Linux系統管理員的下一款自動化工具是CFEngine,這是另一個領先的自動化系統,可幫助你輕松管理整套基礎設施,並使之實現自動化。一旦你使用CFEngine為網路中的系統定義了配置,那麼CF Engine就會自動確保配置符合規范。不用說,如果你的網路中有10個或100個節點,可以在短短幾秒內更新或改動任何一個節點或所有節點。CFEngine之所以受到許多Linux系統管理員的青睞,是由於它運行成本低、響應速度快、具有自癒合功能。
4. Ansible

Ansible是Red Hat提供的一款開源配置管理和IT企業自動化軟體,隨帶一種簡單的編程語言,讓系統管理員能夠高效地處理自動化和配置過程。Ansible由控制機器和控制機器控制的節點組成。節點是通過SSH來加以控制的。Ansible的主要特點之一是代理並不是部署到節點 ,但是完全藉助SSH來進行通信。易學易用、具有一致性、高可靠性和安全性是讓Ansible脫穎而出的其他特性。Ansible的唯一局限就是無法配置裸機和虛擬機。
5. Foreman
Foreman是另一種用於取證分析的開源配置管理工具。Foreman提供了儀錶板,我們可以通過儀錶板來配置裸機伺服器和虛擬機。默認情況下,無論我們何時安裝Foreman,它都使用Puppet作為配置工具。不過藉助插件,Foreman還支持與其他配置管理工具整合起來,比如Chef、Puppet、Ansible、Salt及其他眾多工具。Foreman自動化工具還隨帶各種各樣的介面,包括命令行介面、Web前端以及REST API。Foreman的其他一些顯著功能包括如下:

通過儀錶板,管理Puppet模塊和puppet類方面的改動;
很容易從Foreman儀錶板來管理Puppet環境;
由於儀錶板,創建主機群(Hosts Group)以及為主機群添加puppet模塊變得很輕松;
可以從Foreman儀錶板,輕松添加Puppet模塊或推送到節點。
6. Katello
Katello是另一種開源自動化工具。換而言之,我們可以說Katello是一種開源版的Red Hat satellite Server;如果我們不想花錢在企業產品及其支持上,就可以用它來代替Red Hat satellite Server。Katello已被Foreman收購,Foreman中的大部分功能在Katello中也得到了支持。Katello Server的主要功能如下:

給基於Linux的伺服器(RHEL和CentOS )打補丁;
使用Pulp Service來同步代碼庫;
使用Foreman進行各種配置;
它還可以處理訂閱內容管理,並審計所有已部署的軟體包;
藉助Katello,你可以為所有主機創建主機群,另外還可以在單一主機或一群主機上批量執行操作。
7. Nagios
Nagios現在名為Nagios Core,它是一種開源自動化和監控工具,可以管理基礎設施中的所有系統。它還提供警報服務,一旦察覺到你的網路中哪裡有問題,就會提醒系統管理員。藉助SNMP以及Nagios,系統管理員還可以控制並管理列印機、路由器和交換機。Nagios讓我們得以創建事件處理工具,一旦某個應用程序及其服務停運,就可以自動重啟出現故障的那個應用程序及其服務。

熱點內容
md5加密後的密碼是什麼意思 發布:2025-01-18 15:50:16 瀏覽:192
如何qq空間訪問許可權 發布:2025-01-18 15:49:30 瀏覽:531
matlab遺傳演算法約束 發布:2025-01-18 15:31:33 瀏覽:909
果凍java 發布:2025-01-18 15:25:59 瀏覽:695
電腦與時間伺服器同步間隔 發布:2025-01-18 15:21:28 瀏覽:54
蘋果手機apple登錄密碼在手機哪裡 發布:2025-01-18 15:13:43 瀏覽:380
吃雞去哪裡下手游安卓 發布:2025-01-18 15:10:59 瀏覽:668
東方財富dk指標源碼 發布:2025-01-18 14:45:53 瀏覽:435
陌陌登陸密碼是什麼 發布:2025-01-18 14:36:54 瀏覽:848
海龜編譯器代碼 發布:2025-01-18 14:16:51 瀏覽:34