使用KVM的命令行方式安装centos7虚拟机
前提条件
1.宿主机上已经安装KVM软件,参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/15538881.html
2.已经上传centos7镜像到宿主机里
非必要前提条件,可做可不做
1.kvm修改默认存储路径
2.kvm设置桥接网络
挂载U盘,把U盘里存放的iso系统镜像挂载到宿主机里
[root@nkgtsv01 ~]# yum install fuse-ntfs-3g -y
[root@nkgtsv01 ~]# ls /mnt/
udisk usb
[root@nkgtsv01 ~]# ls /mnt/udisk/
CentOS-7.2-x86_64-DVD-1611.iso CentOS-7-x86_64-DVD-1708.iso maven_storey2.zip
[root@bogon data]# mkdir -p /data/iso
[root@bogon data]# ls
iso kvm-bak network
[root@nkgtsv01 ~]# mount -o loop /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso /data/iso/
mount: /dev/loop0 写保护,将以只读方式挂载
创建虚拟机文件存放的目录
mkdir -p /data/kvm-images
使用 virt-install 创建虚拟机
命令参数
[root@localhost ~]# virt-install --help
usage: virt-install --name NAME --memory MB STORAGE INSTALL [options]
从指定安装源创建新虚拟机。
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--connect URI 通过 libvirt URI 连接到虚拟机管理程序
通用选项:
-n NAME, --name NAME 客户机实例名称
--memory MEMORY Configure guest memory allocation. Ex:
--memory 1024 (in MiB)
--memory 512,maxmemory=1024
--memory 512,maxmemory=1024,hotplugmemorymax=2048,hotplugmemoryslots=2
--vcpus VCPUS Number of vcpus to configure for your guest. Ex:
--vcpus 5
--vcpus 5,maxvcpus=10,cpuset=1-4,6,8
--vcpus sockets=2,cores=4,threads=2
--cpu CPU CPU model and features. Ex:
--cpu coreduo,+x2apic
--cpu host-passthrough
--cpu host
--metadata METADATA 配置客户机元数据。例如:
--metadata name=foo,title="My pretty title",uuid=...
--metadata description="My nice long description"
安装方法选项:
--cdrom CDROM 光驱安装介质
-l LOCATION, --location LOCATION
安装源 (例如:nfs:host:/path, http://host/path,
ftp://host/path)
--pxe 使用 PXE 协议从网络引导
--import 在已有的磁盘镜像中构建客户机
--livecd 将光驱介质视为 Live CD
-x EXTRA_ARGS, --extra-args EXTRA_ARGS
将附加参数添加到由 --location
引导的内核中
--initrd-inject INITRD_INJECT
添加指定文件到由 --location 指定的 initrd
根中
--os-variant DISTRO_VARIANT
在客户机上安装的操作系统,例如:'fedor
a18'、'rhel6'、'winxp' 等。
--boot BOOT 配置客户机引导设置。例如:
--boot hd,cdrom,menu=on
--boot init=/sbin/init (针对容器)
--idmap IDMAP 为 LXC 容器启用用户名称空间。例如:
--idmap uid_start=0,uid_target=1000,uid_count=10
设备选项:
--disk DISK 指定存储的各种选项。例如:
--disk size=10 (在默认位置创建 10GiB 镜像)
--disk /my/existing/disk,cache=none
--disk device=cdrom,bus=scsi
--disk=?
-w NETWORK, --network NETWORK
配置客户机网络接口。例如:
--network bridge=mybr0
--network network=my_libvirt_virtual_net
--network network=mynet,model=virtio,mac=00:11...
--network none
--network help
--graphics GRAPHICS 配置客户机显示设置。例如:
--graphics vnc
--graphics spice,port=5901,tlsport=5902
--graphics none
--graphics vnc,password=foobar,port=5910,keymap=ja
--controller CONTROLLER
配置客户机控制器设备。例如:
--controller type=usb,model=ich9-ehci1
--input INPUT 配置客户机输入设备。例如:
--input tablet
--input keyboard,bus=usb
--serial SERIAL 配置客户机串口设备
--parallel PARALLEL 配置客户机并口设备
--channel CHANNEL 配置客户机通信通道
--console CONSOLE 配置文本控制台连接主机与客户机
--hostdev HOSTDEV 配置物理 USB/PCI 等主机设备与客户机共享
--filesystem FILESYSTEM
传递主机目录到客户机。例如:
--filesystem /my/source/dir,/dir/in/guest
--filesystem template_name,/,type=template
--sound [SOUND] 配置客户机声音设备仿真
--watchdog WATCHDOG 配置客户机 watchdog 设备
--video VIDEO 配置客户机视频硬件。
--smartcard SMARTCARD
配置客户机智能卡设备。例如:
--smartcard mode=passthrough
--redirdev REDIRDEV 配置客户机重定向设备。例如:
--redirdev usb,type=tcp,server=192.168.1.1:4000
--memballoon MEMBALLOON
配置客户机 memballoon 设备。例如:
--memballoon model=virtio
--tpm TPM 配置客户机 TPM 设备。例如:
--tpm /dev/tpm
--rng RNG Configure a guest RNG device. Ex:
--rng /dev/urandom
--panic PANIC 配置客户机 panic 设备。例如:
--panic default
--memdev MEMDEV Configure a guest memory device. Ex:
--memdev dimm,target_size=1024
客户机配置选项:
--security SECURITY 设置域安全驱动配置。
--cputune CPUTUNE Tune CPU parameters for the domain process.
--numatune NUMATUNE 为域进程调整 NUMA 策略。
--memtune MEMTUNE 为域进程调整内存策略。
--blkiotune BLKIOTUNE
为域进程调整 blkio 策略。
--memorybacking MEMORYBACKING
为域进程设置内存后备策略。例如:
--memorybacking hugepages=on
--features FEATURES 设置域 <features> XML。例如:
--features acpi=off
--features apic=on,eoi=on
--clock CLOCK 设置域 <clock> XML。例如:
--clock offset=localtime,rtc_tickpolicy=catchup
--pm PM 配置 VM 电源管理功能
--events EVENTS 配置 VM 生命周期管理策略
--resource RESOURCE 配置 VM 资源分区(cgroups)
--sysinfo SYSINFO Configure SMBIOS System Information. Ex:
--sysinfo emulate
--sysinfo host
--sysinfo bios_vendor=Vendor_Inc.,bios_version=1.2.3-abc,...
--sysinfo system_manufacturer=System_Corp.,system_product=Computer,...
--sysinfo baseBoard_manufacturer=Baseboard_Corp.,baseBoard_product=Motherboard,...
--qemu-commandline QEMU_COMMANDLINE
Pass arguments directly to the qemu emulator. Ex:
--qemu-commandline='-display gtk,gl=on'
--qemu-commandline env=DISPLAY=:0.1
虚拟化平台选项:
-v, --hvm 这个客户机应该是一个全虚拟化客户机
-p, --paravirt 这个客户机应该是一个半虚拟化客户机
--container 这个客户机应该是一个容器客户机
--virt-type HV_TYPE 要使用的管理程序名称 (kvm, qemu, xen, ...)
--arch ARCH 模拟 CPU 架构
--machine MACHINE 机器类型为仿真类型
其它选项:
--autostart 主机启动时自动启动域。
--transient Create a transient domain.
--wait WAIT 请等待数分钟以便完成安装。
--noautoconsole 不要自动尝试连接到客户端控制台
--noreboot 安装完成后不启动客户机。
--print-xml [XMLONLY]
打印生成的 XML 域,而不是创建客户机。
--dry-run 运行安装程序,但不创建设备或定义客户
机。
--check CHECK 启用或禁用验证检查。例如:
--check path_in_use=off
--check all=off
-q, --quiet 抑制非错误输出
-d, --debug 输入故障排除信息
使用 '--option=?' 或 '--option help' 来查看可用的子选项
请参考 man 手册,以便了解示例和完整的选项语法。
virt-install --virt-type=kvm --name=generic-4 --os-type=linux --os-variant=rhel7 --vcpus=1,maxvcpus=2 --memory=512,maxmemory=1024 --location=/usr/local/src/CentOS-7-x86_64-Minimal-2009.iso --disk path=/home/kvm/generic-4.qcow2,size=20,format=qcow2 --network bridge=br0 --graphics none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0" --force
开始安装后,正常的情况下会进入到这样一个界面
这是配置语言、时区、安装源、网络、密码等信息,和图形化安装CentOS虚拟机是一样的,只不过这个是命令行形式
首先设置语言,按数字1,回车进入以下界面 输入回车后再输入68
然后选择1 简体中文
配置完成之后又会再次回到配置界面,下面输入2 设置时区
输入1设置时区,,输入2设置亚洲时区
回车后输入65选择上海时区
配置完成之后又会再次回到配置界面,3是安装介质,不用设置,4是安装类型,默认最小安装,也不用设置
输入5 ,设置系统安装盘
默认已经选中磁盘,正好是命令中设置的20G磁盘大小,选择c继续
默认选项即可 , c继续
配置完成之后又会再次回到配置界面,6是默认启动Kdump,不用设置
输入7 ,设置网络
输入2,设置网络
输入8,设置root密码
输入b,开始安装
安装完成
虚拟机启动了,但是有俩问题,网卡配置文件中dns没有,网卡没有开机启动激活.
这俩问题可以直接通过修改网卡配置文件来解决。优化一步的话,就是在安装的时候不设置网络信息,等系统安装启动后登录进去,直接修改网卡配置文件,一次性解决网络问题
使用的桥接网络,可以ping通外网
宿主机ssh远程也可以。