准备工作
安装 virt-install
1 | # yum install -y virt-install |
ISO镜像安装虚拟机
- 在官方网站下载CentOS-7ISO镜像
- 使用qemu-img工具创建一个虚拟硬盘
1
qemu-img create -f qcow2 /tmp/centos7.qcow2 10G
注意qemu 用户需要有/tmp/centos7.qcow2 访问权限
- 以ISO文件作为cdrom,qcow2文件作为第一块虚拟硬盘,启动虚拟机
1
2
3
4
5
6
7
8
9
10virt-install \
--name centos7 \
--ram 1024 \
--vcpus 1 \
--disk /tmp/centos7.qcow2,format=qcow2 \
--network bridge=virbr0 \
--graphics none \
--os-type linux \
--os-variant centos7.0 \
--cdrom=CentOS-7-x86_64-Minimal-1804.iso
1 | * 进入安装界面,进行相关配置,比如时区、键盘映射、语言等。 |
从安装源安装
- 使用qemu-img工具创建一个虚拟硬盘
1
qemu-img create -f qcow2 /tmp/centos7.qcow2 10G
注意qemu 用户需要有/tmp/centos7.qcow2 访问权限
- 用 –location 代替 –cdrom 参数,qcow2文件作为第一块虚拟硬盘,启动虚拟机
1
2
3
4
5
6
7
8
9
10virt-install \
--name centos7 \
--ram 1024 \
--vcpus 1 \
--disk /tmp/centos7.qcow2,format=qcow2 \
--os-type linux \
--os-variant centos7.0 \
--network bridge=virbr0 \
--graphics none \
--location 'http://mirror.i3d.net/pub/centos/7/os/x86_64/'
直接启动 qow2 镜像
- 修改Cloud image的密码
image 下载地址http://cloud.centos.org/centos/7/images/
安装软件 libguestfs-tools
1 | # yum install libguestfs-tools |
设置 root 密码
1 | # virt-customize -a centos7.qcow2 --root-password password:123456 |
1 | 设置一个随机密码 |
- 启动 qow2 镜像
1
2
3
4
5
6
7
8
9
10virt-install \
--name centos7 \
--ram 1024 \
--vcpus 1 \
--disk ./centos7.qcow2,format=qcow2 \
--os-type linux \
--os-variant centos7.0 \
--network bridge=virbr0 \
--graphics none \
--boot hd
注意 qemu 用户需要有./centos7.qcow2 访问权限
–boot hd,从磁盘启动
- cloud image默认是不允许用 root以及密码进行登录,放开限制并重启sshd
1
2
3
4# vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
# systemctl restart sshd
附录
- network
–network bridge=virbr0 # 桥接模式
–network network=default # 默认方式
- –graphics
–graphics none # 无界面
–graphics vnc,port=5999 # vnc控制台
- –os-variant 操作系统变异
使用 osinfo-query os 命令获得支持的操作系统变种的列表
1 | osinfo-query os |
- virt-customize 常用命令
安装 virt-customize
1 | # yum install libguestfs-tools |
安装或删除软件包
1 | # virt-customize -a centos7.qcow2 --install epel-release |
设置自己的SSH key
1 | # virt-customize -a centos7.qcow2 --ssh-inject centos:string:"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKCqX6EZIrGHoGaMII4QAqr0QC72t+Kg/c5ZIRNTMb6Q+BwzejQgjhBTXeyPnp0rfE9XI4pTxkZqAUOGSK9Bfqg= smiller@bruckner" |
设置 root 用户的密码为 daemon
1 | virt-customize -acentos7.qcow2 --root-password password:daemon |
报错
1 | virt-customize: error: libguestfs error: could not create appliance through |
解决方法
设置环境变量
1 | export LIBGUESTFS_BACKEND=direct |