内网开发机虚拟化(kvm+qemu)

CentOS 7 安装

a. U盘安装,请选择minimal版本。(DVD那个版本,后面需要把DVD的iso还要放在u盘目录下,但DVD超过4G,用ntfs不好搞)
b. 制作启动盘,Mac可用unetbootin,win下可以用大白菜那个启动u盘制作工具,把iso写入u盘,同时把iso原始文件复制到u盘目录下
c. 机器插上u盘启动
d. 启动菜单按tab,此时出现类似vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 rd.live.check quiet的字样
e. 把其中 inst.stage2=hd:LABEL=CentOSx207x20x86_64 改为 linux dd
f. 看是iso写在哪个设备下,比如/dev/sda1(unetbootin做的一般在这里),/dev/sda4(大白菜一般在这里)
g. ctrl+alt+del重启
h. 启动菜单按tab,把 inst.stage2=hd:LABEL=CentOSx207x20x86_64改为 inst.stage2=hd:/dev/sda1一类的
i. 后面按照引导安装即可,记得语言选英语,不要为root设密码,要为用户勾选管理原选项(sudo)

配置网卡
sudo vi /etc/sysconfig/network-scripts/p4p1

centos6.5以后,网卡命名方式已经修改了,使用一致性网络设备命名法,主要根据网卡的物理位置,是否是集成的还是在PCI插槽中来命名,通过这名称,网络管理员能够很清楚的知道网卡的物理位置

网卡设备 旧名称 新名称
集成网卡 eth[012...] em[123...]
PCI网卡 eth[012...] p[插槽数]p[网卡号]
虚拟网卡 eth[012...] p[插槽数]p[网卡号_虚拟接口]
这种方法是依靠biosdevname程序来实现的,它按照一定的规则改变原来的eth[012..]网卡

修改ONBOOT=yes,关闭ipv6

sudo dhclient获取ip,测试网络即可

常用软件包

sudo yum install net-tools lrzsz

centos默认没有ifconfig

kvm,qemu软件安装

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer
qemu-kvm:qemu模拟器
qemu-img:qemu磁盘image管理器
virt-install:用来创建虚拟机的命令行工具
libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor
libvirt-client:提供客户端API用来访问server和提供管理虚拟机命令行工具的virsh实体
virt-viewer:图形控制台

创建/data/iso和/data/img,上传/data/iso/CentOS-7-x86_64-Minimal-1611.iso

virt-install --name=dev1 --ram=1024 --vcpus=1 --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1611.iso --os-type=linux --os-variant=rhel7 --network bridge=br0 --graphics=spice --disk path=/data/img/dev1.dsk,size=4

如果出现以下错误,ERROR Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory,请按照以下操作

yum -y install avahi
service messagebus restart
service avahi-daemon restart
service libvirtd restart

首先禁用kvm自带的默认网络配置virbr0
virsh net-list #查看默认的kvm网络配置
删除kvm自带默认网络配置
virsh net-destroy default
virsh net-undefine default
service libvirtd restart
查看网络配置ifconfig

编辑p4p1,vim ifcfg-p4p1尾部添加
BRIDGE=br0
保存退出

编辑ifcfg-br0,vim ifcfg-br0

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
DELAY=0

保存退出
重启network服务之后,生效 service network restart

需要安装图形界面,要么无法看到虚拟机内部的情况,比如无法安装centos

yum groupinstall "GNOME DESKTOP"

virt-install --name=dev1 --ram=1024 --vcpus=1 --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1611.iso --os-type=linux --os-variant=rhel7 --network bridge=br0 --graphics=spice --disk path=/data/img/dev1.dsk,size=4
startx,在gnome下用,virt-manager来管理也行

虚拟机基本操作
虚拟机克隆

virt-clone -o dev1 -n dev2 -f /data/img/dev2.dsk

修改主机名

hostnamectl --static set-hostname dev2
reboot

开机启动

virsh autostart xxx

销毁虚拟机

virsh undefine xxx

暂停、恢复虚拟机(复制虚拟机时,可以用这个暂停原机器)

virsh suspend xxx
virsh resume xxx

虚拟机迁移
确定虚拟机关闭状态virsh list --all
查看要迁移的虚拟机情况virsh domblklist xxx
virsh dumpxml xxx > /root/xxx.xml
scp /root/xxx.xml到新的虚拟机上
scp dsk文件到新的虚拟机上
在新的虚拟机,按照之前virsh domblklist xxx的位置放好dsk文件
在新的虚拟机,xxx.xml要放在/etc/libvirt/qemu/
定义虚拟机virsh define /etc/libvirt/qemu/xxx.xml
virsh list --all
virsh start xxx
虚拟机配置调整
调整内存,cpu个数
virsh edit dev1
2. 调整硬盘大小

以下使用root来操作

调整镜像大小

qemu-img info /data/img/dev1.dsk
qemu-img resize /data/img/dev1.dsk +46G
qemu-img info /data/img/dev1.dsk

启动虚拟机

调整虚拟机内部的LVM

fdisk -l

应该能找到有空闲空间的磁盘名,虚拟机一般是vda

fdisk /dev/vda
p #查看分区
n #创建分区
p #创建主分区
3 #创建vda3(根据实际情况填写数字)
使用默认扇区信息
t #修改分区类型
3 #修改vda3
8e #类型修改为8e
w #保存配置

配置生效

partprobe

pvcreate /dev/vda3
pvs #查看卷情况,根据vg名称扩展
vgextend cl /dev/vda3
lvs #查看卷情况
lvextend -l +100%FREE /dev/cl/root

centos默认使用xfs文件系统(根据df -h的结果)

xfs_growfs /dev/mapper/cl-root

成功没有捷径
原文地址:https://www.cnblogs.com/orpheus89/p/9394009.html