设为首页 收藏本站
查看: 1066|回复: 0

[经验分享] 基於 KVM 與 libvirt 的虛擬化叢集系統-Debian 篇

[复制链接]

尚未签到

发表于 2018-5-15 10:31:28 | 显示全部楼层 |阅读模式
  http://enews.url.com.tw/ossf/64528
  自由軟體鑄造場 (OSSF) 在台灣推廣自由軟體,長久以來持續提供「應用典範 (Web-hosting)」服務,供台灣知名或具有發展潛力的自由軟體相關組織申請與使用。
隨著虛擬化技術的進步,應用典範也逐漸以 KVM 技術取代早期的 Xen 環境。在轉換的過程中,自由軟體鑄造場投入研究,致力於虛擬化的研究與運用,最終採用由 KVM 及 Red Hat 研發的 libvirt 與 virt-manager 管理模組,有效管理虛擬叢集系統。               
前置作業

架設環境

- 作業主機
- 一個或數個虛擬主機:每個主機皆要能支援 CPU 虛擬化技術,如 AMD 的 AMD-V 或是 Intel 的 VT-x。
- 一個或數個儲存伺服器:儲存空間愈大愈好,用以儲存資料,並建議實作 RAID 機制,以降低因硬碟損壞而造成資料遺失的風險。
- 遠端主控台:備留一台主機供安裝 virt-manager 管理模組,且該主機需支援桌面環境。
- 作業系統
- Debian Squeeze amd64 版本。
檢查 CPU 是否支援虛擬化技術

在 Debian 等 Linux 作業系統中,可於 /proc/cpuinfo 檢查 CPU 是否支援 vmx (Intel) 或是 svm (AMD) 虛擬化技術。
請讀者進入 Debian 終端機後,輸入以下指令
egrep -c '(vmx|svm)' /proc/cpuinfo
若該指令輸出為 0,則代表不支援;反之,若為 1 以上,則代表主機支援 CPU 虛擬化技術。指令的結果也會顯示出主機上有多少 CPU 支援此技術。如果輸出為 0 ,讀者也別灰心,可以先進入主機的 BIOS 選項,檢查虛擬化技術的支援是否未開啟。
如果不會使用終端機,也可以依照主機 CPU 的型號來推斷是否具備虛擬技術,但這方法不一定精準。
如何於 BIOS 中啓用 CPU 虛擬化支援

DSC0000.png
▲ 圖1
進入主機 BIOS 選項後,如果 CPU 有支援,則可以在裡面找到啟動虛擬化技術的選項,如圖中白色文字處。
此外,有少數情況是 CPU 支援虛擬化技術,但主機板卻無法配合,如部分 VAIO 筆記型電腦。此時需要其他方式開啟,有興趣的讀者可自行上網查詢。
NFS 設定

在儲存伺服器上,可以使用最容易安裝與設定的 NFS,以供虛擬主機進行遠端存取。
在安裝 Debian 作業系統時,除了留給作業系統的空間外,建議讀者預留額外存放虛擬機器映像檔的空間,或者分割出一個獨立的磁區。
為了方便管理使用者帳號,建議讀者安裝 NIS/YP 來統一管理。
1. 安裝 nfs-kernel-server,指令如下,
aptitude install nfs-kernel-server
2. 修改 /etc/exports 並加入分享的目錄。範例如下,讀者可依現行環境作變更,
/srv/nfs    192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
3. 將預留給 NFS 掛載的磁區(如果有的話)掛載在 /srv/nfs 上面,並在 /srv/nfs 中建立一個名為 storage 的目錄。
4. 最後重新啟動 NFS,
/etc/init.d/nfs-kernel-server restart
若讀者需要作業系統的 ISO 映像檔,可以將各 ISO 映像檔放置於 /srv/nfs/storage,之後安裝虛擬機器的作業系統時可以直接從該目錄存取。

虛擬主機的安裝與設定

1. 安裝 openssh-server,
aptitude install openssh-server
2. 安裝 libvirt-bin,
aptitude install libvirt-bin
3. 將使用者帳號加入 libvirt 群組以方便遠端控制,下列指令的 [username] 請變更為使用者的帳號。
gpasswd -a [username] libvirt
4. 設定 /etc/networking/interfaces,將該目錄下的 eth0 設定全部移除,並使用下列的內容。要特別注意的是,讀者需自行判斷網路卡的代號,本範例是 br0。
auto br0
    iface br0 inet static
        address 192.168.1.1 # 設定靜態 IP
        netmask 255.255.255.0 6 # 設定 Netmask
        gateway 192.168.1.254 # 設定 Gateway
        bridge_ports eth0
        bridge_stp on
        bridge_maxwait 0

如果主機是透過 DHCP 自動設定網路,請改用以下內容,
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp on
bridge_maxwait 0


最後重新啓動電腦即可。

遠端控制主機安裝 virt-manager

1. 安裝 virt-manager,
aptitude install virt-manager ssh-askpass-gnome
2. 使用 ssh-keygen,依其步驟製作公私鑰方便登入。
3. 將 ~/.ssh/id_rsa.pub 的內容複製到每一台虛擬主機的 ~/.ssh/authorized_hosts 中。若虛擬主機沒有該目錄或檔案,則請讀者自行建立,但該檔案的權限必須設定為 600。
4. 在 virt-manager(虛擬機器管理員)中新增剛安裝好的虛擬主機,
1. File → Add Connection,
DSC0001.png
▲ 圖2
2. Hypervisor 請選擇 QEMU/KVM;Connection 請選擇 Remote tunnel over SSH;Hostname 請輸入「使用者名稱@Address」,
DSC0002.png
▲ 圖3
3. 最後按下 Connect,即可建立完成。
5. 設定儲存池:
1. 點擊滑鼠右鍵 → Details,
DSC0003.png
▲ 圖4
2. 點選 Storage 標籤,
DSC0004.png
▲ 圖5
3. 點選左下角 [+] 圖示。
4. 輸入儲存池名稱,如果多台電腦共用一個儲存池,命名務必相同。
DSC0005.png
▲ 圖6
5. 依照之前的 IP 與 NFS 儲存路徑設定填寫儲存裝置的位置與名稱,最後按下 Finish。
DSC0006.png
▲ 圖7
建立虛擬主機

1. 對 host 點擊滑鼠右鍵 → New,
DSC0007.png
▲ 圖8
2. 輸入虛擬機器的名稱,按下 Forward,
DSC0008.png
▲ 圖9
3. 選擇使用 ISO 映像檔。
1. 先按 Browse...。
DSC0009.png
▲ 圖10
2. 按下瀏覽,從先前建立的 storage pool 中選擇要安裝的作業系統映像檔。
DSC00010.png
▲ 圖11
3. 選擇要安裝的作業系統類型。
DSC00011.png
▲ 圖12
4. 按 Forward 繼續。
4. 設定分配虛擬機器使用的資源,再按 Forward 繼續。
DSC00012.png
▲ 圖13
5. 設定 Storage。
1. 點選 Select managed or other existing storage,之後點選 Browse...。
DSC00013.png
▲ 圖14
2. 點選先前已建立的 storage pool,再點選 New Volume 以建立一個新的映像檔。
DSC00014.png
▲ 圖15
3. 設定映像檔名稱之後調整大小,點選 Finish(格式使用 raw)。
DSC00015.png
▲ 圖16
4. 選擇剛剛建立的 volume 並按下 Choose Volume。
DSC00016.png
▲ 圖17
5. 按 Forward 繼續。
DSC00017.png
▲ 圖18
6. 設定網路。
1. 點開 Advanced options,將原本使用 NAT 的設定改成 Specify shared device name。
DSC00018.png
▲ 圖19
2. 將下面的 Bridge name 設定成網路卡的代號,本範例為 br0。
3. 按下 Finish 建立虛擬主機。
7. 虛擬主機將會在建立完成後自動重新啟動。
DSC00019.png
▲ 圖20
結語

QEMU/KVM 允許使用者執行多種作業系統,而且不像 Xen 需額外授權來放寬使用限制。此外,透過 libvirt 的圖形化介面操作也相當直覺。
自由軟體鑄造場竭誠歡迎有興趣的讀者與我們聯絡交流。
作者簡介

魏藥,本名魏銘廷,目前是大學四年級學生。目前在自由軟體鑄造場擔任技術支援工讀生,也是一隻阿宅。最近在 Debian、Ubuntu 與 LXDE 等社群活動,做各式各樣的事情。
個人網站:http://m-wei.net/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-460393-1-1.html 上篇帖子: debian tomcat配置 下篇帖子: debian系统实现Telnet登录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表