Linux dev virtlo vda,linux 虚拟机 kvm

检查硬件是否支持虚拟化

[root@localhost ~]# grep --color "vmx|svm" /proc/cpuinfo

安装环境

[root@localhost ~]# yum install -y kvm virt-*  libvirt  bridge-utils qemu-img

检测是否已经加载KVM模块

[root@localhost ~]# lsmod | grep --color kvm

[root@localhost ~]# modprobe kvm_intel

配置虚拟网卡

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0

[root@localhost network-scripts]# vi ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:EE:D0:8F

TYPE=Ethernet

UUID=7d11a486-8c8b-4d1b-9135-a3257fb54b7e

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

BRIDGE=br0

[root@localhost network-scripts]# vi ifcfg-br0

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.100

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=8.8.8.8

[root@localhost network-scripts]# service network restart

创建虚拟机1(网络)

[root@localhost ~]# /etc/init.d/libvirtd restart ; /etc/init.d/messagebus restart

执行命令,如果结果类似,说明网络配置正确

[root@localhost ~]# brctl show

bridge name     bridge id               STP enabled     interfaces

br0             8000.000c2955a70a       no              eth0

virbr0          8000.525400391409       yes             virbr0-nic

执行命令创建qcow2格式的虚拟磁盘文件,否则虚拟机无法生成快照

[root@localhost ~]# qemu-img create -f qcow2 -o preallocation=metadata  /data/vmCentOS1.qcow2 30G

创建虚拟机并安装操作系统

[root@localhost ~]# virt-install \

--name  vmCentOS6.7_1 \

--ram 512 \

--disk path=/data/vmCentOS1.qcow2,format=qcow2,size=30,bus=virtio \

--vcpus 1 \

--os-type linux \

--os-variant rhel6 \

--network bridge=br0 \

--graphics none \

--console pty,target_type=serial \

--location 'http://mirrors.163.com/centos/6.7/os/i386/' \

--extra-args 'console=ttyS0,115200n8 serial'

#--ram 内存

#--disk path 虚拟磁盘保存路径

#--vcpus CPU数

#--os-type 系统类型

#--os-variant 系统版本

#--nerwork bridge 虚拟网卡

#--location 源

#--graphics nano 文本格式安装界面

以下看图操作

图一、选择安装语言

ddf5887e85ac2f91f82087fa9810b1c5.png

图二、选择手动设置IP9329cef126382c19771f2033143ca8bf.png

图三、手动设置IP,此IP必须可以联网

f7e6ead9369f7c82b6f099531dd1c49c.png

图四、

cf5a61f7dfc8ddb29ccdac24e6d6f60a.png

图五、

65cdc63f6708849da9c2b557719466dd.png

图六、欢迎界面

ef6c37189083db96ebff287cdb87b175.png

图七、

7165277a4c7f1eb27d5eba0a5093021b.png

图八、选择Re-initiallize all

7337fcde945ef16df3d3aca30a2e1c0a.png

图九、选择时区 Asia/Shanghai

730f93b229de63b36cc62ea95606cbdc.png

图十、设置root密码

ae98640eca7f28d5f2ec57e4ae5dc27c.png

图十一、选择 Replace existing Linux system -- OK

df31deebdf80523ec2470ede82a1d83f.png

图十二、选择 Write changes to disk

c7f439d3a26a2200ff53c108484198c2.png

图十三、

640564b26e562fc15011e1901f712a64.png

图十四、

56fd640a17b8a657c67e570afe96d85b.png

图十五、安装完成

53bc3fec5d8de7faca434c25a4b110dc.png

创建虚拟机2(本地NFS)

挂载光驱或ISO文件

[root@localhost ~]# mount /dev/cdrom /mnt/

宿主配置NFS

[root@localhost ~]# yum install -y nfs-utils rpcbind

[root@localhost ~]# vi /etc/exports

/mnt 192.168.1.0/24(ro)

[root@localhost ~]# /etc/init.d/rpcbind restart ; /etc/init.d/nfs restart

[root@localhost ~]# showmount -e 192.168.1.2

Export list for 192.168.1.2:

/mnt 192.168.1.0/24

执行命令创建qcow2格式的虚拟磁盘文件,否则虚拟机无法生成快照

[root@localhost ~]# qemu-img create -f qcow2 -o \

preallocation=metadata  /data/vmCentOS2.qcow2 30G

创建虚拟机并安装操作系统

[root@localhost ~]# virt-install \

--name  vmCentOS6.7_2 \

--ram 512 \

--disk path=/data/vmCentOS2.qcow2,format=qcow2,size=30,bus=virtio \

--vcpus 1 \

--os-type linux \

--os-variant rhel6 \

--network bridge=br0 \

--graphics none \

--console pty,target_type=serial \

--location '/mnt/' \

--extra-args 'console=ttyS0,115200n8 serial'

以下按图操作

图一、选择安装语言

9f12b56b3c7c8d7f30cf899550206f28.png

图二、选择安装媒体 NFS directory

5cd12c5cb300b2a3e2d705cdbf75c6d9.png

图三、选择手动配置IP

0934fe97e82286de05e9f702118fc1b6.png

图四、设置IP

d2c5a2f891a3a8125497fab3cb749337.png

图五、0116a45a61d535872ed153bb40830afe.png

图六、填写NFS服务端信息

NFS server name:                 (服务端IP)

CentOS directory:                /mnt/p_w_picpaths/install.img

NFS mount options (optional):    ro

26df1f6a8a72f826bce8b47c5fa26ce4.png

图七、

00eeaffc8185dfd3dfb99faa80c53c41.png

图八、

b64a881594b92567492f645eea2c7fe2.png

图九、

56d4313a8fec578ef2d264edf8c093f0.png

图十、

afc9f9fe3d457a6786a6e78883af3ac1.png

图十一、

b421cb339dd54376932e60444441f24f.png

图十二、

0c0d949e8b9169d51d0264322723dd83.png

图十三、

308091ae0f7222a0fee1ee865f1c1546.png

图十四、

bbe653830a00cf46693a2883d6efb241.png

virsh常用操作

查看帮助信息

[root@localhost ~]# virsh --help

查看虚拟机列表,所有的

[root@localhost ~]# virsh list --all

查看虚拟机列表,正在运行的

[root@localhost ~]# virsh list

远程(pts/0)进入虚拟机

[root@localhost ~]# ssh 192.168.1.2

远程退出虚拟机

ctrl + d

[root@localhost ~]# logout

本地(tty/0)进入虚拟机

[root@localhost ~]# virsh console vmCentOS6.5_1

本地退出虚拟机

ctrl + ]

虚拟机电源管理,首先虚拟机系统要安装acpid,以下命令要在虚拟机系统内执行

[root@localhost ~]# yum install -y acpid

[root@localhost ~]# /etc/init.d/acpid start

关闭虚拟机

[root@localhost ~]# virsh shutdown vmCentOS6.5_1

从虚拟机列表删除虚拟机,用该方法删除虚拟机后,如果要重新添加该虚拟机到列表,可以用virsh start方法(另一种关闭虚拟机的方法)

[root@localhost ~]# virsh destroy vmCentOS6.5_1

启动虚拟机

[root@localhost ~]# virsh start vmCentOS6.5_1

启动虚拟机并进入控制台

[root@localhost ~]# virsh start vmCentOS6.5_1 --console

挂起虚拟机

[root@localhost ~]# virsh suspend vmCentOS6.5_1

从挂起状态中恢复虚拟机

[root@localhost ~]# virsh resume vmCentOS6.5_1

设置虚拟机随系统自动启动

[root@localhost ~]# virsh autostart vmCentOS6.5_1

取消虚拟机随系统自动启动

[root@localhost ~]# virsh autostart --disable vmCentOS6.5_1

彻底删除虚拟机

[root@localhost ~]# virsh destroy vmCentOS6.5_1

[root@localhost ~]# virsh undefine vmCentOS6.5_1

实际是删除/etc/libvirt/qemu/vmCentOS6.5_1.xml

查看虚拟机对应的虚拟磁盘文件

[root@localhost ~]# virsh domblklist vmCentOS6.5_1

[root@localhost ~]# rm -f /data/vmCentOS1.qcow2

如果/data/vmCentOS1.qcow2不被删除,将来还可以恢复该虚拟机

克隆虚拟机,前提是源虚拟机已经关闭

[root@localhost ~]# virt-clone --original vmCentOS6.5_1 --name vmCentOS6.5_3 \

--file /data/vmCentOS6.5_3.qcow2

编辑虚拟机文件,实际编辑的是/etc/libvirt/qemu/vmCentOS6.5_1.xml

[root@localhost ~]# virsh edit /data/vmCentOS6.5_1.qcow2

转换虚拟磁盘格式,例如原格式为raw要转换为qcow2,注意是大写字母O,不是数字0

[root@localhost ~]# qemu-img convert -f raw -O qcow2 \

/data/vmCentOS6.5_1.img /data/vmCentOS6.5_1.qcow2

查看虚拟磁盘文件格式

[root@localhost ~]# qemu-img info /data/vmCentOS6.5_1.qcow2 | grep "file format"

虚拟机快照

查看快照信息,Snapshot list 以下为快照信息

[root@localhost ~]# qemu-img info /data/vmCentOS6.5_1.qcow2

[root@localhost ~]# virsh snapshot-list vmCentOS6.5_1

创建快照

[root@localhost ~]# virsh snapshot-create vmCentOS6.5_1

恢复快照,最后一串数字为快照ID,查看快照信息的时候可以查看到

[root@localhost ~]# virsh snapshot-revert vmCentOS6.5_1 1441043346

查看当前使用的是哪一个快照,一般是在第二行

[root@localhost ~]# virsh snapshot-current vmCentOS6.5_1

删除快照

[root@localhost ~]# virsh snapshot-delete vmCentOS6.5_1 1441043346

快照文件保存目录,vmCentOS6.5_1对应每一台虚拟机

[root@localhost ~]# ls /var/lib/libvirt/qemu/snapshot/vmCentOS6.5_1/

虚拟磁盘扩容

查看虚拟机磁盘大小

[root@localhost ~]# qemu-img info /data/vmCentOS6.5_1.qcow2 | grep "virtual size"

给虚拟磁盘+5G

[root@localhost ~]# qemu-img resize /data/vmCentOS6.5_1.qcow2 +5G

重启虚拟机,让扩容后的磁盘生效(必须用以下方法重启)

[root@localhost ~]# virsh destroy vmCentOS6.5_1 ; virsh start vmCentOS6.5_1

把新增的5G虚拟磁盘分区为/dev/vda4,进入虚拟机,重新启动

[root@localhost ~]# virsh console vmCentOS6.5_1

以下操作在虚拟机内执行

[root@localhost ~]# reboot

重启后,执行

[root@localhost ~]# pvcreate /dev/vda4

查看有哪些物理卷

[root@localhost ~]# vgs

查看有哪些磁盘可以加入现有物理卷

[root@localhost ~]# pvs

查看有哪些逻辑卷

[root@localhost ~]# lvs

把/dev/vda4加入VolGroup

[root@localhost ~]# vgextend VolGroup /dev/vda4

[root@localhost ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root

[root@localhost ~]# resize2fs /dev/VolGroup/lv_root

至此,虚拟机磁盘扩容完毕

虚拟机添加虚拟磁盘

[root@localhost ~]# qemu-img create -f qcow2 /data/vmCentOS6.5_1_1.qcow2 5G

[root@localhost ~]# virsh destroy vmCentOS6.5_1

编辑虚拟机文件,修改如下

一、增加以下一整块内容,修改为上面添加的虚拟磁盘

二、删除行

行,dev='vda'改为dev='vdb'

[root@localhost ~]# virsh edit vmCentOS6.5_1

[root@localhost ~]# virsh start vmCentOS6.5_1

至此,虚拟机添加虚拟磁盘完毕

利用vmCentOS6.5_2恢复vmCentOS6.5_1,假定虚拟磁盘文件存在

[root@localhost ~]# virsh dumpxml vmCentOS6.5_2 > /etc/libvirt/qemu/vmCentOS6.5_1.xml

[root@localhost ~]# vi /etc/libvirt/qemu/vmCentOS6.5_1.xml

对应虚拟机名字

vmCentOS6.5_1

UUID不能和原来的相同

c239c60e-e916-bb16-87e1-e686a5e2ade9

对应虚拟磁盘格式 type='qcow2' 或 type='raw'

指定虚拟磁盘文件路径

[root@localhost ~]# virsh define vmCentOS6.5_1

[root@localhost ~]# virsh define /data/vmCentOS6.5_1.qcow2

至此,虚拟机恢复完毕

调整CPU,内存

[root@localhost ~]# virsh edit vmCentOS6.5_1

内存上限,配置内存必须小于这个值,可以改

824288

内存相关

524288

CPU相关

2

[root@localhost ~]# virsh destroy vmCentOS6.5_1

[root@localhost ~]# virsh start vmCentOS6.5_1

查看虚拟机网卡

[root@localhost ~]# virsh domiflist vmCentOS6.5_1

临时添加网卡,虚拟机正在运行

[root@localhost ~]# virsh attach-interface vmCentOS6.5_1 --type bridge --source br0

永久添加网卡,虚拟机关机

[root@localhost ~]# virsh edit vmCentOS6.5_1

[root@localhost ~]# virsh start vmCentOS6.5_1

修改MAC地址对应的网卡名字

[root@localhost ~]# vi /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:92:56:11f", ATTR{type}="1", KERNEL=="eth*", NAME="eth0"

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

HWADDR=52:54:00:92:56:11f

[root@localhost ~]# /etc/init.d/network restart

虚拟机迁移(本地迁移)

[root@localhost ~]# virsh dumpxml vmCentOS6.5_1 > /etc/libvirt/qemu/vmCentOS6.5_8.xml

[root@localhost ~]# cp /data/vmCentOS6.5_1 /data/vmCentOS6.5_8

[root@localhost ~]# vi /etc/libvirt/qemu/vmCentOS6.5_8.xml

以下三项必须修改

vmCentOS6.5_8

c239c60e-e916-bb16-87e1-e686a5e4ade2

[root@localhost ~]# virsh define /data/vmCentOS6.5_8.qcow2

[root@localhost ~]# virsh start vmCentOS6.5_8

虚拟机暂时到这里。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值