前提條件
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遠程也可以。