虚拟化运维博客:Jimmy的博客
使用Kimchi实现虚拟化
编译环境
yum install gcc make autoconf automake gettext-devel git rpm-build libxslt
yum install libguestfs-tools-c -y
yum install libguestfs-xfs -y
安装环境
yum search kimchi
yum search ginger
yum install ginger-base.e17.centos.noarch.rpm wok-2.5.0-0.e17.centos.noarch.rpm ginger*rpm
rpm -qp libvirt-client
网络服务
查看打开的网络服务
firewall-cmd --list-all
我打开的网络服务:
public (active)
target: default
icmp-block-inversion: no
interfaces: 我的网络接口
sources:
services: ssh dhcpv6-client http https
ports: 8001/tcp 8000/tcp # 注意:8001和8000是Kimchi的默认端口。
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
网络服务的启动和关闭
systemctl disable NetworkManager.service
systemctl enable NetworkManager.service
# 关闭防火墙
systemctl stop firewalld
虚拟化配置文件
vim /etc/kimchi/template.conf
vim /etc/wok/wok.conf
vim /etc/libguestfs-tools.conf
创建虚拟化镜像
查看虚拟化镜像的列表
virt-builder --print-cache
cache directory: /root/.cache/virt-builder opensuse-13.1 x86_64 no opensuse-13.2 x86_64 no opensuse-42.1 x86_64 no opensuse-tumbleweed x86_64 no centos-6 x86_64 no centos-7.0 x86_64 no centos-7.1 x86_64 no centos-7.2 aarch64 no centos-7.2 x86_64 no centos-7.3 x86_64 no centos-7.4 x86_64 cached cirros-0.3.1 x86_64 no cirros-0.3.5 x86_64 no debian-6 x86_64 no debian-7 sparc64 no debian-7 x86_64 no debian-8 x86_64 no debian-9 x86_64 no fedora-18 x86_64 no fedora-19 x86_64 no fedora-20 x86_64 no fedora-21 aarch64 no fedora-21 armv7l no fedora-21 ppc64 no fedora-21 ppc64le no fedora-21 x86_64 no fedora-22 aarch64 no fedora-22 armv7l no fedora-22 i686 no fedora-22 x86_64 no fedora-23 aarch64 no fedora-23 armv7l no fedora-23 i686 no fedora-23 ppc64 no fedora-23 ppc64le no fedora-23 x86_64 no fedora-24 aarch64 no fedora-24 armv7l no fedora-24 i686 no fedora-24 x86_64 no fedora-25 aarch64 no fedora-25 armv7l no fedora-25 i686 no fedora-25 ppc64 no fedora-25 ppc64le no fedora-25 x86_64 no fedora-26 aarch64 no fedora-26 armv7l no fedora-26 i686 no fedora-26 ppc64 no fedora-26 ppc64le no fedora-26 x86_64 no fedora-27 aarch64 no fedora-27 armv7l no fedora-27 i686 no fedora-27 ppc64 no fedora-27 ppc64le no fedora-27 x86_64 cached freebsd-11.1 x86_64 no scientificlinux-6 x86_64 no ubuntu-10.04 x86_64 no ubuntu-12.04 x86_64 no ubuntu-14.04 x86_64 no ubuntu-16.04 x86_64 cached
创建虚拟化镜像
virt-builder ubuntu-16.04 --size 50G
[root@localhost kimchi]# virt-builder ubuntu-14.04 --size 50G [ 3.0] Downloading: http://libguestfs.org/download/builder/ubuntu-14.04.xz ######################################################################## 100.0% [ 493.4] Planning how to build this image [ 493.4] Uncompressing [ 495.8] Resizing (using virt-resize) to expand the disk to 50.0G [ 579.9] Opening the new disk [ 583.2] Setting a random seed [ 583.2] Setting passwords virt-builder: Setting random password of root to Js6dpYJp9xTa28MI [ 584.5] Finishing off Output file: ubuntu-14.04.img Output size: 50.0G Output format: raw Total usable space: 48.2G Free space: 47.3G (98%)
查看虚拟池的列表
virsh pool-list
Name State Autostart ------------------------------------------- default active yes image active yes ISO active yes
启动虚拟化服务
- 查看虚拟化服务的状态
systemctl status wokd
- 启动虚拟化服务
systemctl start wokd
- 查看日志
journalctl -xe
配置虚拟服务
查看default的配置
virsh pool-dumpxml default
<pool type='dir'> <name>default</name> <uuid>5451b1c5-57bf-456b-b02c-255a1ffca811</uuid> <capacity unit='bytes'>535393013760</capacity> <allocation unit='bytes'>6340653056</allocation> <available unit='bytes'>529052360704</available> <source> </source> <target> 注意:这里是镜像的地址,如果需要更换默认的镜像地址,可以改<path>的目录。 注意:中文要删除。 <path>/home/kimchi/image</path> <permissions> <mode>0755</mode> <owner>0</owner> <group>0</group> <label>unconfined_u:object_r:home_root_t:s0</label> </permissions> </target> </pool>
弃用default的配置
virsh pool-destroy default
- 修改default的配置
virsh pool-edit default
- 刷新default的配置
virsh pool-refresh default
- 重启default的配置
virsh pool-start default
配置网络服务
- 防火墙添加端口号:
firewall-cmd --add-port=8000/tcp --permanent
如果给虚拟机配置两个网卡,其中一个应该会没有IP,这是因为网卡配置文件缺失导致的:
# 以ContOS为例 ifconfig -a # 显示所有网卡名字 # 如果没有ifconfig yum provides ifconfig # 找到包含ifconfig的软件包,安装即可 vim /etc/sysconfig/network-scripts/ifcfg-网卡名称 # 原本的内容 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp9s0 UUID=906c82e7-3af2-41e6-a3d6-ec1eab2b0dd4 DEVICE=enp9s0 ONBOOT=no # 增加的内容 # 加入以下配置,解决两个网卡丢失IP的原因 DEVICE=enp9s0 ONBOOT=yes BOOTPROTO=dhcp