重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
創(chuàng)新互聯(lián)建站為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括網(wǎng)站制作、成都做網(wǎng)站、app軟件開(kāi)發(fā)公司、微信小程序定制開(kāi)發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷(xiāo)能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門(mén)都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來(lái)大量新的創(chuàng)意。
centos6.7環(huán)境下kvm虛擬機(jī)之virt-install和virsh及virt-manager工具的使用
1. virt-install工具的使用
2. virsh命令的使用
3. virt-manager圖形化界面工具的使用
1. virt-install工具的使用
virt-install是一個(gè)命令行工具,它能夠?yàn)镵VM、Xen或其它支持libvrit API的hypervisor創(chuàng)建虛擬機(jī)并完成GuestOS安裝;此外,它能夠基于串行控制臺(tái)、VNC或SDL支持文本或圖形安裝界面。安裝過(guò)程可以使用本地的安裝介質(zhì)如CDROM,也可以通過(guò)網(wǎng)絡(luò)方式如NFS、HTTP或FTP服務(wù)實(shí)現(xiàn)。對(duì)于通過(guò)網(wǎng)絡(luò)安裝的方式,virt-install可以自動(dòng)加載必要的文件以啟動(dòng)安裝過(guò)程而無(wú)須額外提供引導(dǎo)工具。當(dāng)然,virt-install也支持PXE方式的安裝過(guò)程,也能夠直接使用現(xiàn)有的磁盤(pán)映像直接啟動(dòng)安裝過(guò)程。
virt-install命令有許多選項(xiàng),這些選項(xiàng)大體可分為下面幾大類(lèi),同時(shí)對(duì)每類(lèi)中的常用選項(xiàng)也做出簡(jiǎn)單說(shuō)明。
## 一般選項(xiàng):指定虛擬機(jī)的名稱、內(nèi)存大小、VCPU個(gè)數(shù)及特性等;
-n NAME, --name=NAME:虛擬機(jī)名稱,需全局惟一;
-r MEMORY, --ram=MEMORY:虛擬機(jī)內(nèi)在大小,單位為MB; n --vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#]:VCPU個(gè)數(shù)及相關(guān)配置;
--cpu=CPU:CPU模式及特性,如coreduo等;可以使用qemu-kvm -cpu ?來(lái)獲取支持的CPU模式;
## 安裝方法:指定安裝方法、GuestOS類(lèi)型等;
-c CDROM, --cdrom=CDROM:光盤(pán)安裝介質(zhì);
-l LOCATION, --location=LOCATION:安裝源URL,支持FTP、HTTP及NFS等,如ftp://172.16.0.1/pub;
--pxe:基于PXE完成安裝;
--livecd: 把光盤(pán)當(dāng)作LiveCD;
--os-type=DISTRO_TYPE:操作系統(tǒng)類(lèi)型,如linux、unix或windows等;
--os-variant=DISTRO_VARIANT:某類(lèi)型操作系統(tǒng)的變體,如rhel5、fedora8等;
-x EXTRA, --extra-args=EXTRA:根據(jù)--location指定的方式安裝GuestOS時(shí),用于傳遞給內(nèi)核的額外選項(xiàng),例如指定kickstart文件的位置,--extra-args "ks=http://172.16.0.1/class.cfg"
--boot=BOOTOPTS:指定安裝過(guò)程完成后的配置選項(xiàng),如指定引導(dǎo)設(shè)備次序、使用指定的而非安裝的kernel/initrd來(lái)引導(dǎo)系統(tǒng)啟動(dòng)等 ;例如:
--boot cdrom,hd,network:指定引導(dǎo)次序;
--boot kernel=KERNEL,initrd=INITRD,kernel_args=”console=/dev/ttyS0”:指定啟動(dòng)系統(tǒng)的內(nèi)核及initrd文件;
## 存儲(chǔ)配置:指定存儲(chǔ)類(lèi)型、位置及屬性等;
--disk=DISKOPTS:指定存儲(chǔ)設(shè)備及其屬性;格式為--disk /some/storage/path,opt1=val1,opt2=val2等;常用的選項(xiàng)有:
device:設(shè)備類(lèi)型,如cdrom、disk或floppy等,默認(rèn)為disk;
bus:磁盤(pán)總結(jié)類(lèi)型,其值可以為ide、scsi、usb、virtio或xen;
perms:訪問(wèn)權(quán)限,如rw、ro或sh(共享的可讀寫(xiě)),默認(rèn)為rw;
size:新建磁盤(pán)映像的大小,單位為GB;
cache:緩存模型,其值有none、writethrouth(緩存讀)及writeback(緩存讀寫(xiě));
format:磁盤(pán)映像格式,如raw、qcow2、vmdk等;
sparse:磁盤(pán)映像使用稀疏格式,即不立即分配指定大小的空間;
--nodisks:不使用本地磁盤(pán),在LiveCD模式中常用;
## 網(wǎng)絡(luò)配置:指定網(wǎng)絡(luò)接口的網(wǎng)絡(luò)類(lèi)型及接口屬性如MAC地址、驅(qū)動(dòng)模式等;
-w NETWORK, --network=NETWORK,opt1=val1,opt2=val2:將虛擬機(jī)連入宿主機(jī)的網(wǎng)絡(luò)中,其中NETWORK可以為:
bridge=BRIDGE:連接至名為“BRIDEG”的橋設(shè)備;
network=NAME:連接至名為“NAME”的網(wǎng)絡(luò);
## 其它常用的選項(xiàng)還有:
model:GuestOS中看到的網(wǎng)絡(luò)設(shè)備型號(hào),如e1000、rtl8139或virtio等;
mac:固定的MAC地址;省略此選項(xiàng)時(shí)將使用隨機(jī)地址,但無(wú)論何種方式,對(duì)于KVM來(lái)說(shuō),其前三段必須為52:54:00;
--nonetworks:虛擬機(jī)不使用網(wǎng)絡(luò)功能;
## 圖形配置:定義虛擬機(jī)顯示功能相關(guān)的配置,如VNC相關(guān)配置;
--graphics TYPE,opt1=val1,opt2=val2:指定圖形顯示相關(guān)的配置,此選項(xiàng)不會(huì)配置任何顯示硬件(如顯卡),而是僅指定虛擬機(jī)啟動(dòng)后對(duì)其進(jìn)行訪問(wèn)的接口;
TYPE:指定顯示類(lèi)型,可以為vnc、sdl、spice或none等,默認(rèn)為vnc;
port:TYPE為vnc或spice時(shí)其監(jiān)聽(tīng)的端口;
listen:TYPE為vnc或spice時(shí)所監(jiān)聽(tīng)的IP地址,默認(rèn)為127.0.0.1,可以通過(guò)修改/etc/libvirt/qemu.conf定義新的默認(rèn)值;
password:TYPE為vnc或spice時(shí),為遠(yuǎn)程訪問(wèn)監(jiān)聽(tīng)的服務(wù)進(jìn)指定認(rèn)證密碼;
--noautoconsole:禁止自動(dòng)連接至虛擬機(jī)的控制臺(tái);
## 設(shè)備選項(xiàng):指定文本控制臺(tái)、聲音設(shè)備、串行接口、并行接口、顯示接口等;
--serial=CHAROPTS:附加一個(gè)串行設(shè)備至當(dāng)前虛擬機(jī),根據(jù)設(shè)備類(lèi)型的不同,可以使用不同的選項(xiàng),格式為“--serial type,opt1=val1,opt2=val2,...”,例如:
--serial pty:創(chuàng)建偽終端;
--serial dev,path=HOSTPATH:附加主機(jī)設(shè)備至此虛擬機(jī);
--video=VIDEO:指定顯卡設(shè)備模型,可用取值為cirrus、vga、qxl或vmvga;
## 虛擬化平臺(tái):虛擬化模型(hvm或paravirt)、模擬的CPU平臺(tái)類(lèi)型、模擬的主機(jī)類(lèi)型、hypervisor類(lèi)型(如kvm、xen或qemu等)以及當(dāng)前虛擬機(jī)的UUID等;
-v, --hvm:當(dāng)物理機(jī)同時(shí)支持完全虛擬化和半虛擬化時(shí),指定使用完全虛擬化;
-p, --paravirt:指定使用半虛擬化;
--virt-type:使用的hypervisor,如kvm、qemu、xen等;所有可用值可以使用’virsh capabilities’命令獲??;
## 其它:
--autostart:指定虛擬機(jī)是否在物理啟動(dòng)后自動(dòng)啟動(dòng);
--print-xml:如果虛擬機(jī)不需要安裝過(guò)程(--import、--boot),則顯示生成的XML而不是創(chuàng)建此虛擬機(jī);默認(rèn)情況下,此選項(xiàng)仍會(huì)創(chuàng)建磁盤(pán)映像;
--force:禁止命令進(jìn)入交互式模式,如果有需要回答yes或no選項(xiàng),則自動(dòng)回答為yes;
--dry-run:執(zhí)行創(chuàng)建虛擬機(jī)的整個(gè)過(guò)程,但不真正創(chuàng)建虛擬機(jī)、改變主機(jī)上的設(shè)備配置信息及將其創(chuàng)建的需求通知給libvirt;
-d, --debug:顯示debug信息;
盡管virt-install命令有著類(lèi)似上述的眾多選項(xiàng),但實(shí)際使用中,其必須提供的選項(xiàng)僅包括--name、--ram、--disk(也可是--nodisks)及安裝過(guò)程相關(guān)的選項(xiàng)。此外,有時(shí)還需要使用括--connect=CONNCT選項(xiàng)來(lái)指定連接至一個(gè)非默認(rèn)的hypervisor。
下面這個(gè)示例創(chuàng)建一個(gè)名為rhel5的虛擬機(jī),其hypervisor為KVM,內(nèi)存大小為512MB,磁盤(pán)為8G的映像文件/var/lib/libvirt/images/rhel5.8.img,通過(guò)boot.iso光盤(pán)鏡像來(lái)引導(dǎo)啟動(dòng)安裝過(guò)程。
# virt-install \
--connect qemu:///system \
--virt-type kvm \
--name rhel5 \
--ram 512 \
--disk path=/var/lib/libvirt/images/rhel5.img,size=8 \
--graphics vnc \
--cdrom /tmp/boot.iso \
--os-variant rhel5
下面的示例將創(chuàng)建一個(gè)名為rhel6的虛擬機(jī),其有兩個(gè)虛擬CPU,安裝方法為FTP,并指定了ks文件的位置,磁盤(pán)映像文件為稀疏格式,連接至物理主機(jī)上的名為brnet0的橋接網(wǎng)絡(luò):
# virt-install \
--connect qemu:///system \
--virt-type kvm \
--name rhel6 \
--ram 1024 \
--vcpus 2 \
--network bridge=brnet0 \
--disk path=/VMs/images/rhel6.img,size=120,sparse \
--location ftp://172.16.0.1/rhel6/dvd \
--extra_args “ks=http://172.16.0.1/rhel6.cfg” \
--os-variant rhel6 \
--force
下面的示例將創(chuàng)建一個(gè)名為rhel5.8的虛擬機(jī),磁盤(pán)映像文件為稀疏模式的格式為qcow2且總線類(lèi)型為virtio,安裝過(guò)程不啟動(dòng)圖形界面(--nographics),但會(huì)啟動(dòng)一個(gè)串行終端將安裝過(guò)程以字符形式顯示在當(dāng)前文本模式下,虛擬機(jī)顯卡類(lèi)型為cirrus:
# virt-install \
--connect qemu:///system \
--virt-type kvm \
--name rhel5.8 \
--vcpus 2,maxvcpus=4 \
--ram 512 \
--disk path=/VMs/images/rhel5.8.img,size=120,format=qcow2,bus=virtio,sparse \
--network bridge=brnet0,model=virtio
--nographics \
--location ftp://172.16.0.1/pub \
--extra-args "ks=http://172.16.0.1/class.cfg console=ttyS0 serial" \
--os-variant rhel5 \
--force \
--video=cirrus
下面的示例則利用已經(jīng)存在的磁盤(pán)映像文件(已經(jīng)有安裝好的系統(tǒng))創(chuàng)建一個(gè)名為rhel5.8的虛擬機(jī):
# virt-install \
--name rhel5.8
--ram 512
--disk /VMs/rhel5.8.img
--import
每個(gè)虛擬機(jī)創(chuàng)建后,其配置信息保存在/etc/libvirt/qemu目錄中,文件名與虛擬機(jī)相同,格式為XML
2. virsh命令的使用
virsh常用命令:
virsh start x 啟動(dòng)名字為x的非活動(dòng)虛擬機(jī)
virsh list 列出虛擬機(jī)
virsh create x.xml 創(chuàng)建虛擬機(jī)(創(chuàng)建后,虛擬機(jī)立即執(zhí)行,成為活動(dòng)主機(jī))
virsh suspend x 暫停虛擬機(jī)
virsh resume x 啟動(dòng)暫停的虛擬機(jī)
virsh shutdown x 正常關(guān)閉虛擬機(jī)
virsh destroy x 強(qiáng)制關(guān)閉虛擬機(jī)
# virsh undefine x 刪除虛擬機(jī)
virsh dominfo x 顯示虛擬機(jī)的基本信息
virsh domname 2 顯示id號(hào)為2的虛擬機(jī)名
virsh domid x 顯示虛擬機(jī)id號(hào)
virsh domuuid x 顯示虛擬機(jī)的uuid
virsh domstate x 顯示虛擬機(jī)的當(dāng)前狀態(tài)
virsh dumpxml x 顯示虛擬機(jī)的當(dāng)前配置文件(可能和定義虛擬機(jī)時(shí)的配置不同,因?yàn)楫?dāng)虛擬機(jī)啟動(dòng)時(shí),需要給虛擬機(jī)分配id號(hào)、uuid、vnc端口號(hào)等等)
virsh setmem x 512000 給不活動(dòng)虛擬機(jī)設(shè)置內(nèi)存大小
virsh edit x 編輯配置文件(一般是在剛定義完虛擬機(jī)之后)
示例1:virsh命令添加網(wǎng)橋:
# service libvirtd start
可以查看幫助
# virsh help iface-bridge
通過(guò)virsh的命令可以直接添加網(wǎng)橋
# virsh iface-bridge eth0 br0
Created bridge br0 with attached device eth0
Bridge interface br0 started
# ifconfig
3. virt-manager圖形化界面工具的使用
略略略...