日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过ezjail创建和管理jail虚拟机

發布時間:2025/7/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过ezjail创建和管理jail虚拟机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在公司的環境中,需要快速和大量的部署jail虛擬機,原先的make world的方式就顯得非常力不從心。大家都知道,make world就算在雙四核的機器上也是極慢的;通過查閱freebsd的官方文檔,它向我們推薦管理及創建jail的工具--ezjail。

Jail的手冊概述了創建Jail的方法,然而,當你需要多個Jail時,完整的Jail目錄樹會迅速地占用很多寶貴的磁盤空間。 ezjail通過使用FreeBSD的nullfs特性來避免這個問題。基礎系統的大部分(/bin、/boot、/sbin、/lib、 /libexec、/rescue、/usr/{bin、include、lib、libexec、ports、sbin、share、src})僅在宿 主機系統中存在一個副本,并通過nullfs以只讀的方式掛載到所有的Jail里去。那些Jail就非常苗條了(每個約2mb),并且只包含一些指向 basejail掛載點的軟鏈接,而沒有像/etc、/usr/local這樣的共享目錄。

ezjail帶來很多優勢:

節省磁盤空間、inode,甚至內存,因為系統只需要為所有Jail持有一個系統二進制的副本

你可以通過更新一個基礎目錄來更新所有的Jail,它如此簡單,你肯定能做到

***者破壞Jail時無法安裝標準的Rootkit(因為基礎系統是只讀掛載的)

由于ezjail完全是用sh寫成的,因此沒有必要在宿主機系統中安裝其它腳本語言

因為基礎系統是通過軟鏈接系統的,被囚禁(enjailed)的用戶可以選擇不使用已掛載的world

一個常常被低估的事實:較少的復雜性意味著更多的安全。

我現在想通過ezjail為我的jail.cn7788.com,IP名為192.168.1.103的機器(相當于母機)安裝一臺名為 apache.cn7788.com,IP為192.168.1.104及一臺名為research.cn7788.com,IP為 192.168.1.105的jail機器。

具體步驟如下:(權限要求很大,這里為了方便,我暫時切換到root下操作)

(1)編輯網卡地址,為網卡創建二個子網地址,我們用vim工具編輯/etc/rc.conf文件,在最后添加代碼如下:

ifconfig_em0_alias0="inet 192.168.1.104 netmask 255.255.255.0" ifconfig_em0_alias1="inet 192.168.1.105 netmask 255.255.255.0"

重啟后,通過ifconfig 觀察下網卡的IP,截圖如下:

(2)編譯內核

由于是最小化安裝,所以沒有/usr/src目錄,我們可以通過sysinstll工具來安裝此目錄。

sudo sysinstall -> Configure -> Distributions -> src -> ALL -> Install from a FreeBSD CD/DVD

然后是編譯內核

cd /usr/src make buildworld

此過程比較漫長,建議在下班時間或空閑時間做,無論是四核或八核的機器,做二小時的預算。

(3)ports安裝ezjail工具

cd /usr/ports/sysutils/ezjail make install clean

(4)生成jail模板。

ezjail-admin update -p -i -p:提供給jail ports -i:不再運行make world,因為第一步我們已經做了

(5)生成名為apache.cn7788.com和reseach.cn7788.com的子jail機器

ezjail-admin create -r /usr/jails/apache apache.cn7788.com 192.168.1.104 ezjail-admin create -r /usr/jails/research research.cn7788.com 192.168.1.105

該命令可以分別在/usr/jails/apache和/usr/jails/research目錄下建立名為了apache.cn7788.com和research.cn7788.com的jail機器。

(6)讓192.168.1.103的機器開機即啟動ezjail工具

操作如下:

在/etc/rc.conf最后添加代碼如下:

ezjail_enable="YES"

(7)分別通過ezjail啟動這二個jail機器

/usr/local/etc/rc.d/ezjail.sh start apache.cn7788.com /usr/local/etc/rc.d/ezjail.sh start research.cn7788.com

這里補充說明下:ezjail由兩個腳本組成:ezjail-admin和ezjail.sh,前者用于創建、更新和刪除Jail,后者用于啟動、停止和重啟Jail。

(8)通過ezjail-admin list查看jail機器的情況

[andrewy@jail ~0m]$ ezjail-admin list STA JID IP Hostname Root Directory ---------------------------------------------------------------------------- DR 2 192.168.1.105 research.cn7788.com /usr/jails/research DR 1 192.168.1.104 apache.cn7788.com /usr/jails/apache

(9)啟動jail機器的ssh

啟動sshd的方法跟平常一樣的,沒有任何區別。

先通過jexec 1或2 sh登入該jail,然后在/etc/rc.conf文件最后添加 sshd_enable="YES",然后通過ezjail.sh命令重新啟動虛擬機

jail# /usr/local/etc/rc.d/ezjail.sh restart apache.cn7788.co Stopping jails: apache.cn7788.com. Configuring jails:. Starting jails: apache.cn7788.com. jail# /usr/local/etc/rc.d/ezjail.sh restart research.cn7788.com Stopping jails: research.cn7788.com. Configuring jails:. Starting jails: research.cn7788.com.

(10)如果要添加新jail機器,重復以上步驟即可。

(11)jail機器的備份是非常容易的

對相應的目錄進行備份即可;其實我建議只對重要資料進行備份,jail機器crash了的話,重建一個也是非常快速的事情。

(12)建議用ezjail的方式創建和管理

如果大家有大規劃部署虛擬機的需求的話,建議用ezjail的方式創建和管理,它創建的速度非常之快,而且子jail極小,如果遇到崩潰的情況的話,它恢復起來也極快,現在我基本上在我每臺jail機器上都部署了ezjail了。

總結

以上是生活随笔為你收集整理的通过ezjail创建和管理jail虚拟机的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。