Openstack制作image镜像

 安装kvm

 检查cpu是否支持虚拟化

[root@kevin ~]# grep vmx /proc/cpuinfo

如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。

确保BIOS里开启虚拟化功能,即查看是否加载KVM模块

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

如果没有加载,运行以下命令:

[root@kevin ~]# modprobe kvm

[root@kevin ~]# modprobe kvm-intel

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。

[root@kevin ~]# ll /dev/kvm

crw-rw-rw-. 1 root kvm 10, 232 1月  29 11:56 /dev/kvm

3)桥接网络

如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils ,

[root@kevin ~]# yum -y install bridge-utils

[root@kevin ~]# systemctl restart network

配置KVM的网桥模式

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

[root@openstack network-scripts]# cp ifcfg-eno1 ifcfg-br0

[root@openstack network-scripts]# cat ifcfg-br0

TYPE="Bridge"                                        //这一行修改为Bridge

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="br0"                                           //修改设备名称为br0

#UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"         //这一行注释

DEVICE="br0"                                         //修改设备为br0

ONBOOT="yes"

IPADDR="192.168.10.210"

PREFIX="24"

GATEWAY="192.168.10.1"

DNS1="8.8.8.8"

[root@openstack network-scripts]# cat ifcfg-eno1

TYPE="Ethernet"

BRIDGE=br0                                           //添加这一行

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="eno1"

UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"

DEVICE="eno1"

ONBOOT="yes"

#IPADDR="192.168.10.210"                          //注释掉这几行

#PREFIX="24"

#GATEWAY="192.168.10.1"

#DNS1="8.8.8.8"

重启网卡服务

[root@openstack network-scripts]# systemctl restart network

查看网卡

[root@openstack network-scripts]# brctl show

bridge name bridge id   STP enabled interfaces

br0   8000.0894ef518b22 no    eno1

virbr0    8000.52540095d7c2 yes   virbr0-nic

查看ip信息

[root@openstack network-scripts]# ifconfig |head -20

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.10.210  netmask 255.255.255.0  broadcast 192.168.10.255

        inet6 fe80::a94:efff:fe51:8b22  prefixlen 64  scopeid 0x20<link>

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 856  bytes 52981 (51.7 KiB)

        RX errors 0  dropped 2  overruns 0  frame 0

        TX packets 120  bytes 23450 (22.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 10077  bytes 793083 (774.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1184  bytes 228415 (223.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 16

eno2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:23  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

[root@openstack network-scripts]# ping www.baidu.com

PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=2.08 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=1.80 ms

........

4)安装libvirt及kvm

libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机。

[root@kevin ~]#  yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64

libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

由于要用virt-manager图形化安装虚拟机,所以还需要安装X-window(这个在前面部署VNC环境里就已经安装了)

[root@kevin ~]# yum groupinstall "X Window System"

安装中文字符,解决界面乱码问题

[root@kevin ~]# yum install -y dejavu-lgc-sans-fonts

[root@kevin ~]# yum groupinstall -y "Fonts"

启用libvirt

[root@kevin ~]# systemctl enable libvirtd

[root@kevin ~]# systemctl start libvirtd

使用virt-manager管理kvm(通过VNC连接服务器)

提前将ISO系统镜像存放到服务器的一个目录里,比如/data/iso

[root@openstack ~]# mkdir /data/iso

[root@openstack ios]# ll

总用量 3356384

-rw-r--r--. 1 qemu qemu 3436937216 1月  29 11:41 win-server2008_R2.iso

下载ISO镜像到/var/lib/libvirt/images

通过KVM环境虚机进行配置

#virt-manager  (选择第一个CDROM)

选择镜像

配置内存,CPU

虚拟机启用存储

起名字  安装前自定义配置

网卡选择virtio

选择VNC

添加硬件

支持qemu

开机,进系统。安装QGA服务,方便于以后修改密码

#apt-get install qemu-guest-agent

安装完QGA服务,确认是否开启

#systemctl status qemu-guest-agent

Ubuntu删除普通用户

在root用户下:#userdel -r newuser在普通用户下:#sudo userdel -r newuser

删除历史命令

第一步: 删除 .bash_history 文件

#rm -rf ~/.bash_history

第二步: 清空命令历史记录

#history -c

关机。

在虚拟机的xml配置文件中增加下面代码。

virsh edit ubuntu16.04 (虚机名字)

<channel type="unix">

  <source mode="bind"/>

  <target type="virtio" name="org.qemu.guest_agent.0"/>

</channel>

添加完成,虚机关机,命令修改root密码测试。

#virsh set-user-password --domain 15 --user root --password actest

qcow2镜像压缩(不支持raw格式压缩)

qemu-img convert -c -f qcow2 -O qcow2 win2k12r2.qcow2 win2012.qcow2 -p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值