我的友情链接

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


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