我的友情鏈接

KVM虛擬機安裝操作

環境: Centos 6.5


(1)修改內核模式爲兼容內核啓動

uname  –a

vi  /boot /grub/grub.conf

修改default值等 如:default=1

vi /etc/selinux/config

SELINUX=disabled

chkconfig ip6tables off

chkconfig iptables off

reboot

(2) 查看是否支持虛擬機

egrep '(vmx|svm)' --color=always /proc/cpuinfo

flags    : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt


3配置yum

 cd  /etc/yum.reps.d/

可參考以下:

vi  CentOs-Base.repo

[base]

name=CentOS-$releasever - Base - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]

name=CentOS-$releasever - Plus - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/

        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus

gpgcheck=1

enabled=0

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


(4) 安裝kvm軟件包:

yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v

安裝kvm虛擬化一些管理工具包:

yum -y install libguestfs-tools


(5) 查看虛擬化環境

service libvirtd restart

virsh –c qemu:///system list

lsmod|grep kvm

virsh  –version

virt-install –version

ln –s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

qemu-kvm –version


(6) 手動配置虛擬網橋

(1)關閉networkmanager服務

chkconfig NetworkManager off

service NetworkManager stop

(2)創建br0網橋

cd  /etc/sysconfig/network-scripts/

cp ifcfg-eth0 ifcfg-br0

#vi ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br0

HWADDR=d4:85:64:5a:e3:b4

NAME="System eth0"

#################

#vi ifcfg-br0

DEVICE=br0

ONBOOT=yes

TYPE=Bridge

BOOTPROTO=static

IPADDR=172.16.88.128

NETMASK=255.255.0.0

GATEWAY=172.16.90.1

DNS1=202.96.134.133

DNS2=223.5.5.5

PREFIX=16

NM_CONTROLLED=no

IPV4_FAILURE_FATAL=no

IPV6INIT=no

IPV6_AUTOCONF=no

IPV6_DEFROUTE=no

IPV6_PEERDNS=no

IPV6_PEERROUTES=no

IPV6_FAILURE_FATAL=no

關閉了networkmanager服務之後,才能通過servicenetworkrestart管理網絡。

/etc/sysctl.conf 添加配置:

net.bridge.bridge-nf-call-ip6tables = 0

net.bridge.bridge-nf-call-iptables = 0

net.bridge.bridge-nf-call-arptables = 0

sysctl -p

service network restart

查看網橋br0

#ifconfig

#brctl show


(7) KVM 虛擬機安裝:

1.上傳IOS文件

cd  /data/ios/

CentOS-6.5-x86_64-bin-DVD1.iso

2.安裝CentOS6.5

1)raw 格式磁盤

virt-install --name=oeltest01 --ram 512 --vcpus=1 --disk path=/data/test02.img,size=7,bus=virtio --accelerate --cdrom/data/iso/oel58x64.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio –noautoconsole

2)qcow2格式(空間動態增長)

qemu-img create -f qcow2  test_note01.img 160G

virt-install --name=test_note01 --os-variant=CentOS6.5 --ram 2498 --vcpus 2 –disk path=/vm/test_note01.qcow2,size=160,format=qcow2,bus=virtio --cdrom /data/iso/CentOS-6.5-x86_64-bin-DVD1.iso --vnc --vncport=5910 --network bridge=br0  --os-type=linux --accelerate --autostart  --noautoconsole

 

virt-install --name=test-node01 --os-variant=centos6  --qcow2  --ram  4298  --vcpus 2 --disk path=/home/vm/test_node01.qcow2,size=200,bus=virtio --network bridge=br0  format=qcow2 --vnc --vncport=5900 --cdrom=/home/rhel/rhel_iso/rhel-server-6.5-x86_64-dvd.iso --os-type=linux --accelerate --autostart  --noautoconsole --vnclisten=0.0.0.0

進入圖形化界面安裝選項………

安裝完成後配置網卡:

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

UUID=890921a4-bb70-4ed2-b4bb-622b3e771b0d

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

HWADDR=52:54:00:D0:A4:5B

IPADDR=172.16.88.194

PREFIX=24

GATEWAY=172.16.90.1

DNS1=202.96.134.133

DNS1=88.88.88.88

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

啓動網絡服務 /etc/init.d/network restart

配置虛擬機從宿主機通過console登錄:(紅色字是需要添加部分)

echo  “ttyS0” >> /etc/securetty

cat /etc/securetty

vi  /boot/grub/grub.conf

title CentOS (2.6.32-431.el6.x86_64)

         root (hd0,1)

         kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_vda1-lv_gen rd_NO_LUKS rd_NO_MD crashkernel=auto.UTF-8 rd_LVM_LV=vg_vda1/lv_gen  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=ttyS0

         initrd /initramfs-2.6.32-431.el6.x86_64.img

vi  /etc/inittab

id:5:initdefault:

S0:12345:respawn:/sbin/agetty ttyS0 115200

重啓虛擬機reboot

宿主機通過console登錄:virsh console 虛擬機名

爲虛擬機添加磁盤(此處也可以修改虛擬機的內存和vcpus等設備)

在宿主機創建磁盤:qemu-img create -f qcow2  add_mycat01.img 20G

查看磁盤容量:qemu-img info add_mycat01.img

virsh edit虛擬機名

<devices>

    <emulator>/usr/libexec/qemu-kvm</emulator>

    <disk type='file' device='disk'>

      <driver name='qemu' type='qcow2'/>

      <source file='/vm/test_mycat1.qcow2'/>

      <target dev='vda' bus='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

    </disk>

    <disk type='file' device='disk'>

      <driver name='qemu' type='qcow2'/>

      <source file='/vm/add_mycat01.img'/>

      <target dev='vdb' bus='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>

    </disk>

    <disk type='block' device='cdrom'>

      <driver name='qemu' type='raw'/>

      <target dev='hda' bus='ide'/>

      <readonly/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

</disk>

重啓虛擬機:virsh  destroy  虛擬機名

virsh start  虛擬機名

查看磁盤 #fdisk –l

格式化磁盤:mkfs.ext4 /dev/vdb

fdisk /dev/vdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-93622, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-93622, default 93622):

Using default value 93622

 

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)

 

Command (m for help): w

The partition table has been altered!

#partx -a /dev/sdb

#pvcreate /dev/vdb1

#pvs

#vgextend  vg_testnode02 /dev/vdb1

#vgs

#lvcreate -L 110G  -n lv_data vg_testnode02

#lvextend -l +100%FREE /dev/vg/lv_data

#lvs

擴容後需要改變尺寸:

resize2fs /dev/mapper/vg_test03mis01-lv_data

 

mkfs.ext4  /dev/mapper/vg_testnode02-lv_data

vi /etc/fstab

/dev/mapper/vg_testnode02-lv_data   /data       ext4    defaults        1 2

 

單用戶下修改 fstab,先掛載根目錄

root# mount -o remount,rw /


kvm虛擬機改名:

1. virsh list --all

 Id    Name                           State

----------------------------------------------------

 -     haproxy                        shut off

 -     mycat01                        shut off

 -     mycat02                        shut off

 -     test_note01                    shut off

[root@kvm ~]# cd /etc/libvirt/qemu

[root@kvm qemu]# virsh dumpxml test_note01 >test_node01.xml

[root@kvm qemu]# ls

autostart  haproxy.xml  mycat01.xml  mycat02.xml  networks  test_node01.xml  test_note01.xml

[root@kvm qemu]# vi test_node01.xml

test_note01替換成test_node01

重新定義虛擬機名稱:

[root@kvm qemu]# virsh undefine test_note01

[root@kvm qemu]# virsh define test_node01 .xml

imgqcow2磁盤文件改名:

[root@kvm vm]# mv test_note01.qcow2 test_node01.qcow2

查看虛擬機:[root@kvm qemu]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 -     haproxy                        shut off

 -     mycat01                        shut off

 -     mycat02                        shut off

 -     test_node01                    shut off

 

克隆虛擬機:

virt-clone -o test_node02 -n test_node03 -f /vm/

[root@kvm ~]# cat /etc/libvirt/qemu/test_node03.xml |grep vnc

    <graphics type='vnc' port='-1' autoport='yes'/>

[root@kvm ~]# virsh edit test_node03

  <graphics type='vnc' port='5901' autoport='yes'/>

Domain test_node03 XML configuration not changed.

virsh list --all

 Id    Name                           State

----------------------------------------------------

 7     test_node01                    running

 -     haproxy                        shut off

 -     mycat01                        shut off

 -     mycat02                        shut off

 -     test_node02                    shut off

 -     test_node03                    shut off

[root@kvm ~]# virsh start test_node03

error: Failed to start domain test_node03

error: internal error: process exited while connecting to monitor: 2017-06-13T04:44:14.410164Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test_node02/org.qemu.guest_agent.0,server,nowait: Failed to bind socket: No such file or directory

2017-06-13T04:44:14.410238Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test_node02/org.qemu.guest_agent.0,server,nowait: chardev: opening backend "socket" failed

virsh edit test_node03

path=/var/lib/libvirt/qemu/channel/target/domain-test_node03/org.qemu.guest_agent.0

Domain test_node03 XML configuration edited.

[root@kvm ~]# virsh start test_node03

Domain test_node03 started

diff  /etc/libvirt/qemu/test_node03.xml  /etc/libvirt/qemu/test_node02.xml|

進入test_node03虛擬機配置

vi  /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:5d:85:06", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

# PCI device 0x1af4:0x1000 (virtio-pci)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:1a:7b:2d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" NAME= eth1改成 eth0

 

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

UUID=353ff276-6fac-4d1f-ab4a-3d770b3dd084

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

HWADDR=52:54:00:1a:7b:2d

IPADDR=172.16.88.196

PREFIX=16

GATEWAY=172.16.90.1

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"


service  network  start


虛擬機隨服務開機啓動:

KVM虛擬機的XML配置文件做一個軟連接到/etc/libvirt/qemu/autostart/目錄下

ln -s /etc/libvirt/qemu/test_node04.xml test_node04.xml

 

虛擬機刪除:  virsh undefine   名稱

kvm虛擬機快照:qemu-img snapshot -c node1_snapshot01 test-node01.qcow2

查看快照:qemu-img snapshot -l test-node01.qcow2


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章