突然接到老總需求,需要在現有機房的服務器上邊部署KVM,讓內網測試機到達外網去測試。說實話有些頭疼,因爲我們的硬件資源實在是太缺了(小公司...),只有100G的剩餘空間,讓我在上邊跑倆臺虛擬機,還得應付時刻增漲的數據,這無疑讓我很無語...hadoop可是在這臺服務器的...所以,同學們懂了吧,那數據量,每天嘩嘩滴啊...廢話少說,開始搭建~
一、服務器硬件環境
服務器型號 | DELL R710 |
CPU型號 | Intel(R) Xeon(R) CPU [email protected]*2 |
物理CPU線程數 | 24 |
內存大小 | 64G |
磁盤型號 | WDC WD10EZEX-00ZF5A0 |
系統 | CentOS release 6.3_x64 |
剩餘磁盤空間 | 100G |
二、需求描述
在現有資源上,不影響其他業務的情況下,搭建KVM,並在上邊部署Centos6.x系統。這裏我選擇了Centos6.2,至於爲啥. 因爲他比host主機版本要低,兼容性更好點.
另外注意一點:其他網上同學的文檔都是安裝網橋模式,類似交換機那樣進行通信。由於需求所限,我的KVM虛機是通過nat方式上網。因此不需要繁雜的對網橋進行配置,使用隨機的virbr0就可以。
三、安裝部署
檢測CPU是否支持虛擬化
[root@localhost ~]# egrep -o 'vmx|svm' /proc/cpuinfo vmx vmx …… vmx
2. 安裝kvm
[root@localhost ~]# yum -y install qemu-kvm libvirt python-vritinst bridge-utils avahi dmidecode libguestfs-tools virt-manager
3. 網橋查看
[root@localhost ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254004272bb yes virbr0-nic # virsh # net-autostart --disable default#關閉默認網橋virbr0
4. 創建虛機存儲和鏡像目錄
[root@localhost ~]# mkdir /data/kvm/{iso,vm} -p
5. 創建虛擬機
[root@jxq-st-ms-02 ~]# virt-install -v -n hd-nn \ > --ram 1024 \ > ##內存 --vcpus=1 \ ##cpu核數 --disk path=/data/kvm-img/hd-nn.img,size=10,bus=virtio \ ##指定虛擬磁盤存放位置和定義容量大小 --accelerate \ --cdrom /data/iso/CentOS-6.2-x86_64-minimal.iso \ ##引導鏡像 --vnc --vncport=5901 \ ##vnc遠程連接端口,默認爲5900開始 --vnclisten=0.0.0.0 \ ##指定監聽地址 --network bridge=virbr0 \ ##指定網絡連接模式 --force
6. 利用vnc進行遠控安裝即可,之後的操作,相信你比我熟悉!~
至此呢,kvm就這麼愉快的搭建完成了...更高階的用法,找你度娘吧。
記錄幾條常用命令:
virsh shutdown domainname
virsh define xmlfile
virsh start domainname
virsh autostart domainname
解決:
error: Failed to mark domain mytest-vm as autostarted
error: Requested operation is not valid: cannot set autostart for transient domain
virsh dominfo vm100002
virsh dumpxml vm100002
掛起和回覆
virsh suspend vm100002
virsh resume vm100002
創建一個100G的磁盤:(好處是文件隨着使用而自增,而不是一次性佔據100G容量)
qemu-img create -f raw data0.img 100G