kvm安装及基本使用

kvm安装及基本使用

我这边使用的系统是centos7.2用最小安装,不安装图形界面,安装过程中出现问题,可以安装图形查看原因。

一、环境准备



#关闭selinux
getenforce      查看selinux状态
setenforce 0   临时关闭,重启是失效
#最好永久关闭:  
cd /etc/selinux/config  #修改enforcing为disabled后保存退出

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

#关闭Network Manager
systemctl stop NetworkManager
systemctl disable NetworkManager

二、开始安装

#检查物理机是否支持虚拟化
cat /proc/cpuinfo |grep vmx
#flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb
#这是截取的一段,有这个说明服务器支持虚拟化

#安装kvm以及需要的依赖包
yum -y install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install python-virtinst bridge-utils kvm qemu libvirt virt-viewer qemu-system virt-v2v  libguestfs-tools
yum install -y bash-completion libvirt-bash-completion

#查看KVM虚拟环境和模块是否完成
systemctl restart libvirtd
systemctl enable libvirtd
#查看虚拟机环境
virsh list --all

三、物理机上配置桥接模式


cp /etc/sysconfig/network-scripts/ifcfg-eth0  /etc/sysconfig/networkB-scripts/ifcfg-br0
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.9.123
NETMASK=255.255.0.0
GATEWAY=192.168.2.1
DNS1=114.114.114.114
BRIDGE=br0        #添加这行
#########################################
vi ifcfg-br0
NAME="eth0"         #要不要都可以
DEVICE=br0          #修改br0
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=static
TYPE=Bridge          #修改Bridge
IPADDR=192.168.9.123
NETMASK=255.255.0.0
GATEWAY=192.168.2.1
DNS1=114.114.114.114
UUID=                              #UUID要删掉
systemctl restart network

四、开启libvirtd进程及基本使用


systemctl start libvirtd
systemctl enable libvirtd

#这里就基本搭建完成,下面给出一些基本命令使用。如何创建虚拟机,这里就不再多介绍,后面再介绍更简单的方式。

virsh list --all  #查询所有虚拟机
virsh console  u12-vnc-9738  #console进入虚拟机
virsh dominfo u12-vnc-9738 #查看虚拟机信息
virsh start u12-vnc-9738   #开启虚拟机
virsh shutdown u12-vnc-9738   #关闭虚拟机
virsh destroy u12-vnc-9738   #强制虚拟机
virsh autostart u12-vnc-9738  #跟随系统开机启动
virsh autostart --disable u12-vnc-9738  #跟随系统开机启动

五、配置console 进入虚拟机

默认情况下安装的kvm linux系统没有配置console环境
#下面直接贴代码
cat console.sh

#!/bin/bash
release=$1
#centos 6.5和centos6.8系统
if [[ "$release" = "6.5" || "$release" = "6.8" ]]
then
echo "S0:2345:respawn:/sbin/agetty -h -L 115200 ttyS0 vt100" >> /etc/inittab
echo "S1:2345:respawn:/sbin/agetty -h -L 115200 ttyS1 vt100" >> /etc/inittab
echo "ttyS0" >> /etc/securetty
echo "ttyS1" >> /etc/securetty
sed -i '/kernel.*root=.*quiet.*/s/$/ console=tty0 console=ttyS1,115200/g' /boot/grub/grub.conf
echo "$release"
#这个就不用管了,是我根据机型定制的
elif [ "$release" = "6_C6320" ]
then
echo "S0:2345:respawn:/sbin/agetty -h -L 115200 ttyS0 vt100" >> /etc/inittab
echo "S1:2345:respawn:/sbin/agetty -h -L 115200 ttyS1 vt100" >> /etc/inittab
echo "ttyS0" >> /etc/securetty
echo "ttyS1" >> /etc/securetty
sed -i '/kernel.*root=.*quiet.*/s/$/ console=tty0 console=ttyS0,115200n8 LANG=utf-8/g' /boot/grub/grub.conf
#ubuntu 14.04
elif [ "$release" = "14" ]
then
cat > /etc/default/grub <<'EOF'
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="console=ttyS1,115200n8 console=tty1 crashkernal=auto" 
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1"
EOF
cat > /etc/init/ttyS1.conf <<'EOF'
# ttyS1 - getty
#
# This service maintains a getty on ttyS1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]

respawn
exec /sbin/getty -L 115200 ttyS1 vt102
EOF
#centos7.x系统,7系统都适用
elif [ "$release" = "7" ]
then
echo "S0:2345:respawn:/sbin/agetty -h -L 115200 ttyS0 vt100" >> /etc/inittab
echo "S1:2345:respawn:/sbin/agetty -h -L 115200 ttyS1 vt100" >> /etc/inittab
echo "ttyS0" >> /etc/securetty
echo "ttyS1" >> /etc/securetty
cat > /etc/default/grub <<'EOF'
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_DISABLE_RECOVERY="true"
GRUB_CMDLINE_LINUX="rhgb"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS1,115200"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg
#如果上不行就用这个
elif [ "$release" = "7_C6320" ]
then
echo "S0:2345:respawn:/sbin/agetty -h -L 115200 ttyS0 vt100" >> /etc/inittab
echo "S1:2345:respawn:/sbin/agetty -h -L 115200 ttyS1 vt100" >> /etc/inittab
echo "ttyS0" >> /etc/securetty
echo "ttyS1" >> /etc/securetty
echo 'GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200"' >/etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
#ubuntu16.04
elif [ "$release" = "16" ]
then
cat > /etc/default/grub <<'EOF'
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="console=ttyS1,115200n8 console=tty1 crashkernal=auto"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=1"
EOF
cat > /etc/init/ttyS1.conf <<'EOF'
# ttyS1 - getty
#
# This service maintains a getty on ttyS1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS1 vt102
EOF
update-grub
elif [ "$release" = "16.04_C6320" ]
then
cat >> /etc/default/grub <<'EOF'
GRUB_CMDLINE_LINUX="console=ttyS0,115200n8 console=tty0 crashkernal=auto"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0"
EOF
cat > /etc/init/ttyS1.conf <<'EOF'
# ttyS1 - getty
#
# This service maintains a getty on ttyS1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS0 vt102
EOF
update-grub
fi

使用方法

#例如配置centos6.5系统,执行这个脚本就行
#不建议直接执行脚本,可根据脚本手动配置,以免改动系统本身设置而造成系统问题,可能不同机器问题配置会不一样
bash console.sh 6.5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值