云计算之KVM安装(二)
调整虚拟机
虚拟化Intel使用的是intel VT-X AMD使用的是AMD-V
创建虚拟机步骤
1.准备虚拟机硬盘
2.需要系统iso镜像
3.需要安装一个vnc的客户端来连接
查看系统环境
[root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@linux-node1 ~]# uname -r -.el7.x86_64
Centos7下载:http://pan.baidu.com/s/1c2MHsGg 密码:5w1u
检查是否有vmx
或者svm
[root@linux-node1 ~]# grep -E '(vmx|svm)' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_noitfy hwp_act_window hwp_epp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt
安装kvm用户态
模块
[root@linux-node1 ~]# yum list|grep kvm libvirt-daemon-kvm.x86_64 -.el7_2. updates pcp-pmda-kvm.x86_64 -.el7 base qemu-kvm.x86_64 :-.el7_2. updates qemu-kvm-common.x86_64 :-.el7_2. updates qemu-kvm-tools.x86_64 :-.el7_2. updates
[root@linux-node1 ~]# yum install qemu-kvm qemu-kvm-tools libvirt net-tools -y libvirt 用来管理kvm kvm属于内核态,不需要安装。但是需要一些类似于依赖的 启动
[root@linux-node1 ~]# systemctl start libvirtd.service [root@linux-node1 ~]# systemctl enable libvirtd.service
启动之后我们可以使用ifconfig进行查看,libvirtd已经为我们安装了一个桥接网卡
[root@linux-node1 ~]# ifconfig eth0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu inet 192.168.56.11 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::20c:29ff:fef4:affe prefixlen scopeid 0x20<link> ether :0c::f4:af:fe txqueuelen (Ethernet) RX packets bytes (39.3 MiB) RX errors dropped overruns frame TX packets bytes (1.3 MiB) TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu inet 127.0.0.1 netmask 255.0.0.0 inet6 :: prefixlen scopeid 0x10<host> loop txqueuelen (Local Loopback) RX packets bytes (7.6 KiB) RX errors dropped overruns frame TX packets bytes (7.6 KiB) TX errors dropped overruns carrier collisions virbr0: flags=<UP,BROADCAST,MULTICAST> mtu inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether :::f6:bd:c9 txqueuelen (Ethernet) RX packets bytes (0.0 B) RX errors dropped overruns frame TX packets bytes (0.0 B) TX errors dropped overruns carrier collisions
libvirtd为我们启动了一个dnsmasqp,这个主要是用来dhcp连接的,这个工具会给我们的虚拟机分配IP地址
[root@linux-node1 ~]# ps -ef|grep dns nobody : ? :: /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper root : ? :: /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper root : pts/ :: grep --color=auto dns
查看磁盘空间大小
最好是20G以上
[root@linux-node1 tmp]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 48G .7G 46G % / devtmpfs .9G .9G % /dev tmpfs .9G .9G % /dev/shm tmpfs .9G .9G % /run tmpfs .9G .9G % /sys/fs/cgroup /dev/sda1 497M 167M 330M % /boot tmpfs 378M 378M % /run/user/
上传镜像
提示:如果使用rz上传镜像可能会出现错误,所以我们使用dd命令,复制系统的镜像。只需要挂载上光盘即可
[root@linux-node1 opt]# dd if=/dev/cdrom of=/opt/CentOS-7.2.iso [root@linux-node1 opt]# ll total -rw-r--r-- root root Jun : CentOS-.iso
下载VNC
下载地址:http://www.tightvnc.com/download/2.8.5/tightvnc-2.8.5-gpl-setup-64bit.msi
安装完VNC如下图
创建磁盘
提示: qemu-img软件包是我们安装qemu-kvm-tools 依赖给安装上的
[root@linux-node1 opt]# qemu-img create -f raw /opt/CentOS-7.2-x86_64.raw 10G [root@linux-node1 opt]# ll 总用量 -rw-r--r--. root root 11月 : CentOS-7.2-x86_64.raw -rw-r--r--. root root 6月 : CentOS--x86_64-Minimal-.iso
-f 制定虚拟机格式,raw是裸磁盘
/opt/Centos 存放路径
10G 代表镜像大小
安装启动虚拟机的包
[root@linux-node1 tmp]# yum install -y virt-install
安装虚拟机
可以使用—help查看相关存储
[root@linux-node1 tmp]# virt-install --help
我们可以指定虚拟机的CPU、磁盘、内存等
安装虚拟机
[root@linux-node1 opt]# virt- --cdrom=/opt/CentOS--x86_64-Minimal-.iso --disk path=/opt/CentOS-7.2-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --name = 给虚拟机起个名字 --ram = 内存大小 --cdrom = 镜像位置,就是我们上传iso镜像的位置,我放在/tmp下了 --disk path = 指定磁盘 --network network= 网络配置 default 就会用我们刚刚ifconfig里面桥接的网卡 --graphics vnc,listen= 监听vnc, 默认连接端口是从5900开始的
[root@linux-node1 opt]# virsh list --all Id 名称 状态 ---------------------------------------------------- CentOS-7.2-x86_64 running
[root@linux-node1 tmp]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp /mysqld tcp /qemu-kvm tcp /rpcbind tcp /epmd tcp /dnsmasq tcp /sshd tcp /beam tcp /master tcp /beam tcp6 ::: :::* LISTEN /rpcbind tcp6 ::: :::* LISTEN /epmd tcp6 ::: :::* LISTEN /sshd tcp6 ::: :::* LISTEN /master tcp6 ::: :::* LISTEN /beam udp /dnsmasq udp /dnsmasq udp /rpcbind udp /chronyd udp /chronyd udp /rpcbind udp6 ::: :::* /rpcbind udp6 ::: :::* /chronyd udp6 ::: :::* /rpcbind
提示:因为vnc
默认是从5900
开始的,所以我们如果是第一台不需要输入端口号
安装界面如下:
因为centos7 默认网卡发生改变,我们需要修改内核参数,使用eth0作为网卡
光标移动到Install CentOS上
,按tab
键 输入net.ifnames=0 biosdevname=0
回车
分区说明
提示:我们不分交换分区,因为公有云上的云主机都是没有交换分区的
分区如下:
然后我们点击Done
本次分配分区按照10G内存
进行分配
分配标准分区
温馨提示:在虚拟机的世界里,越简单越好。像阿里云系统分区以前是给20个G,现在是给40个G
装系统步骤不详细说明了,过于简单,请自行百度
虚拟机安装完成后是关闭了,我们需要启动
[root@linux-node1 opt]# virsh list --all Id 名称 状态 ---------------------------------------------------- - CentOS-7.2-x86_64 关闭 [root@linux-node1 ~]# virsh start CentOS-7.2-x86_64 #CentOS-7.2-x86_64 是虚拟机的名字,是我们创建的时候定义的