小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

RHCSA 系列(十五):虛擬化基礎(chǔ)和使用KVM 進(jìn)行虛擬機(jī)管理

 發(fā)如白雪 2015-10-07

假如你在詞典中查一下單詞 “虛擬化virtualize”,你將會發(fā)現(xiàn)它的意思是 “創(chuàng)造某些事物的一個虛擬物(而非真實(shí)的)”。在計算機(jī)行業(yè)中,術(shù)語虛擬化virtualization指的是:在相同的物理(硬件)系統(tǒng)上,同時運(yùn)行多個操作系統(tǒng),且這幾個系統(tǒng)相互隔離的可能性,而那個硬件在虛擬化架構(gòu)中被稱作宿主機(jī)host

通過使用虛擬機(jī)監(jiān)視器(也被稱為虛擬機(jī)管理程序hypervisor),虛擬機(jī)(被稱為 guest)由底層的硬件來供給虛擬資源(舉幾個例子來說,如 CPU,RAM,存儲介質(zhì),網(wǎng)絡(luò)接口等)。

考慮到這一點(diǎn)就可以清楚地看出,虛擬化的主要優(yōu)點(diǎn)是節(jié)約成本(在設(shè)備和網(wǎng)絡(luò)基礎(chǔ)設(shè)施,及維護(hù)工作等方面)和顯著地減少容納所有必要硬件所需的物理空間。

由于這個簡單的指南不能涵蓋所有的虛擬化方法,我鼓勵你參考在總結(jié)部分中列出的文檔,以此對這個話題做更深入的了解。

請記住當(dāng)前文章只是用于在 RHEL 7 中用命令行工具使用 KVM (Kernel-based Virtual Machine基于內(nèi)核的虛擬機(jī)) 學(xué)習(xí)虛擬化基礎(chǔ)知識的一個起點(diǎn),而并不是對這個話題的深入探討。

檢查硬件要求并安裝軟件包

為了設(shè)置虛擬化,你的 CPU 必須能夠支持它。你可以使用下面的命令來查看你的系統(tǒng)是否滿足這個要求:

  1. # grep -E 'svm|vmx' /proc/cpuinfo

在下面的截圖中,我們可以看到當(dāng)前的系統(tǒng)(帶有一個 AMD 的微處理器)支持虛擬化,svm 字樣的存在暗示了這一點(diǎn)。假如我們有一個 Intel 系列的處理器,我們將會看到上面命令的結(jié)果將會出現(xiàn) vmx 字樣。

檢查 KVM 支持

另外,你需要在你宿主機(jī)的硬件(BIOS 或 UEFI)中開啟虛擬化。

現(xiàn)在,安裝必要的軟件包:

  • qemu-kvm 是一個開源的虛擬機(jī)程序,為 KVM 虛擬機(jī)監(jiān)視器提供硬件仿真,而 qemu-img 則提供了一個操縱磁盤鏡像的命令行工具。

  • libvirt 包含與操作系統(tǒng)的虛擬化功能交互的工具。

  • libvirt-python 包含一個模塊,它允許用 Python 寫的應(yīng)用來使用由 libvirt 提供的接口。

  • libguestfs-tools 包含各式各樣的針對虛擬機(jī)的系統(tǒng)管理員命令行工具。

  • virt-install 包含針對虛擬機(jī)管理的其他命令行工具。

命令如下:

  1. # yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

一旦安裝完成,請確保你啟動并開啟了 libvirtd 服務(wù):

  1. # systemctl start libvirtd.service

  2. # systemctl enable libvirtd.service

默認(rèn)情況下,每個虛擬機(jī)將只能夠與放在相同的物理服務(wù)器上的虛擬機(jī)以及宿主機(jī)自身通信。要使得虛擬機(jī)能夠訪問位于局域網(wǎng)或因特網(wǎng)中的其他機(jī)器,我們需要像下面這樣在我們的宿主機(jī)上設(shè)置一個橋接接口(比如說 br0):

1、 添加下面的一行到我們的 NIC 主配置中(類似 /etc/sysconfig/network-scripts/ifcfg-enp0s3 這樣的文件):

  1. BRIDGE=br0

2、 使用下面的內(nèi)容(注意,你可能需要更改 IP 地址,網(wǎng)關(guān)地址和 DNS 信息)為 br0 創(chuàng)建一個配置文件(/etc/sysconfig/network-scripts/ifcfg-br0):

  1. DEVICE=br0

  2. TYPE=Bridge

  3. BOOTPROTO=static

  4. IPADDR=192.168.0.18

  5. NETMASK=255.255.255.0

  6. GATEWAY=192.168.0.1

  7. NM_CONTROLLED=no

  8. DEFROUTE=yes

  9. PEERDNS=yes

  10. PEERROUTES=yes

  11. IPV4_FAILURE_FATAL=no

  12. IPV6INIT=yes

  13. IPV6_AUTOCONF=yes

  14. IPV6_DEFROUTE=yes

  15. IPV6_PEERDNS=yes

  16. IPV6_PEERROUTES=yes

  17. IPV6_FAILURE_FATAL=no

  18. NAME=br0

  19. ONBOOT=yes

  20. DNS1=8.8.8.8

  21. DNS2=8.8.4.4

3、 最后在文件/etc/sysctl.conf 中設(shè)置:

  1. net.ipv4.ip_forward = 1

來開啟包轉(zhuǎn)發(fā)并加載更改到當(dāng)前的內(nèi)核配置中:

  1. # sysctl -p

注意,你可能還需要告訴 firewalld 讓這類的流量應(yīng)當(dāng)被允許通過防火墻。假如你需要這樣做,記住你可以參考這個系列的 使用 firewalld 和 iptables 來控制網(wǎng)絡(luò)流量。

創(chuàng)建虛擬機(jī)鏡像

默認(rèn)情況下,虛擬機(jī)鏡像將會被創(chuàng)建到 /var/lib/libvirt/images 中,且強(qiáng)烈建議你不要更改這個設(shè)定,除非你真的需要那么做且知道你在做什么,并能自己處理有關(guān) SELinux 的設(shè)定(這個話題已經(jīng)超出了本教程的討論范疇,但你可以參考這個系列的第 13 部分 使用 SELinux 來進(jìn)行強(qiáng)制訪問控制,假如你想更新你的知識的話)。

這意味著你需要確保你在文件系統(tǒng)中分配了必要的空間來容納你的虛擬機(jī)。

下面的命令將使用位于 /home/gacanepa/ISOs目錄下的 rhel-server-7.0-x86_64-dvd.iso 鏡像文件和 br0 這個網(wǎng)橋來創(chuàng)建一個名為 tecmint-virt01 的虛擬機(jī),它有一個虛擬 CPU,1 GB(=1024 MB)的 RAM,20 GB 的磁盤空間(由/var/lib/libvirt/images/tecmint-virt01.img所代表):

  1. # virt-install \

  2. --network bridge=br0

  3. --name tecmint-virt01 \

  4. --ram=1024 \

  5. --vcpus=1 \

  6. --disk path=/var/lib/libvirt/images/tecmint-virt01.img,size=20 \

  7. --graphics none \

  8. --cdrom /home/gacanepa/ISOs/rhel-server-7.0-x86_64-dvd.iso

  9. --extra-args='console=tty0 console=ttyS0,115200'

假如安裝文件位于一個 HTTP 服務(wù)器上,而不是存儲在你磁盤中的鏡像中,你必須將上面的 -cdrom 替換為 -location,并明確地指出在線存儲倉庫的地址。

至于上面的 –graphics none 選項(xiàng),它告訴安裝程序只以文本模式執(zhí)行安裝過程。假如你使用一個 GUI 界面和一個 VNC 窗口來訪問主虛擬機(jī)控制臺,則可以省略這個選項(xiàng)。最后,使用 –extra-args 參數(shù),我們將傳遞內(nèi)核啟動參數(shù)給安裝程序,以此來設(shè)置一個串行的虛擬機(jī)控制臺。

現(xiàn)在,所安裝的虛擬機(jī)應(yīng)當(dāng)可以作為一個正常的(真實(shí)的)服務(wù)來運(yùn)行了。假如沒有,請查看上面列出的步驟。

管理虛擬機(jī)

作為一個系統(tǒng)管理員,還有一些典型的管理任務(wù)需要你在虛擬機(jī)上去完成。注:下面所有的命令都需要在你的宿主機(jī)上運(yùn)行:

1. 列出所有的虛擬機(jī):

  1. # virsh list --all

你必須留意上面命令輸出中的虛擬機(jī) ID(盡管上面的命令還會返回虛擬機(jī)的名稱和當(dāng)前的狀態(tài)),因?yàn)槟阈枰鼇韴?zhí)行有關(guān)某個虛擬機(jī)的大多數(shù)管理任務(wù)。

2. 顯示某個虛擬機(jī)的信息:

  1. # virsh dominfo [VM Id]

3. 開啟,重啟或停止一個虛擬機(jī)操作系統(tǒng):

  1. # virsh start | reboot | shutdown [VM Id]

4. 假如網(wǎng)絡(luò)無法連接且在宿主機(jī)上沒有運(yùn)行 X 服務(wù)器,可以使用下面的命令來訪問虛擬機(jī)的串行控制臺:

  1. # virsh console [VM Id]

:這需要你添加一個串行控制臺配置信息到 /etc/grub.conf 文件中(參考剛才創(chuàng)建虛擬機(jī)時傳遞給-extra-args選項(xiàng)的參數(shù))。

5. 修改分配的內(nèi)存或虛擬 CPU:

首先,關(guān)閉虛擬機(jī):

  1. # virsh shutdown [VM Id]

為 RAM 編輯虛擬機(jī)的配置:

  1. # virsh edit [VM Id]

然后更改

  1. <memory>[內(nèi)存大小,注意不要加上方括號]</memory>

使用新的設(shè)定重啟虛擬機(jī):

  1. # virsh create /etc/libvirt/qemu/tecmint-virt01.xml

最后,可以使用下面的命令來動態(tài)地改變內(nèi)存的大小:

  1. # virsh setmem [VM Id] [內(nèi)存大小,這里沒有括號]

對于 CPU,使用:

  1. # virsh edit [VM Id]

然后更改

  1. <cpu>[CPU 數(shù)目,這里沒有括號]</cpu>

至于更深入的命令和細(xì)節(jié),請參考 RHEL 5 虛擬化指南(這個指南盡管有些陳舊,但包括了用于管理虛擬機(jī)的 virsh 命令的詳盡清單)的第 26 章里的表 26.1。

總結(jié)

在這篇文章中,我們涵蓋了在 RHEL 7 中如何使用 KVM 和虛擬化的一些基本概念,這個話題是一個廣泛且令人著迷的話題。并且我希望它能成為你在隨后閱讀官方的 RHEL 虛擬化入門RHEL 虛擬化部署和管理指南 ,探索更高級的主題時的起點(diǎn)教程,并給你帶來幫助。

另外,為了分辨或拓展這里解釋的某些概念,你還可以參考先前包含在 KVM 系列 中的文章。


via: http://www./kvm-virtualization-basics-and-guest-administration/

作者:Gabriel Cánepa 譯者:FSSlc 校對:wxy

本文由 LCTT 原創(chuàng)翻譯,Linux中國 榮譽(yù)推出

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多