标签:Stream stream centos -- IP 虚拟机 CentOS images
目标:快速创建一个 CentOS Stream 8 虚拟机,用于开发和测试。
-
获取 CentOS Stream 8 虚拟机磁盘镜像(qcow2)
URL="https://cloud.centos.org/centos/8-stream/x86_64/images/$(curl -SsLf https://cloud.centos.org/centos/8-stream/x86_64/images/ | grep -Po '(?<=href=")CentOS-Stream-GenericCloud-8[^"]+.qcow2(?=")' | tail -1)" curl -Lo /var/lib/libvirt/images/centos-stream-8.qcow2 "${URL}"
-
修改虚拟机 root 密码为 12345
docker run -it --rm \ -v /var/lib/libvirt/images:/data \ -w /data \ -u "$(id -u):$(id -g)" \ --entrypoint /usr/bin/env \ bkahlert/libguestfs \ -- virt-customize -a centos-stream-8.qcow2 --root-password password:12345 --uninstall cloud-init
-
修改虚拟机磁盘大小为 64G
docker run -it --rm \ -v /var/lib/libvirt/images:/data \ -w /data \ -u "$(id -u):$(id -g)" \ --entrypoint /usr/bin/env \ bkahlert/libguestfs \ -- qemu-img resize centos-stream-8.qcow2 64G
-
创建虚拟机(4核8G,默认NAT网络)
virt-install \ --name centos-stream-8 \ --os-type=Linux \ --vcpus 4 \ --memory 8192 \ --disk /var/lib/libvirt/images/centos-stream-8.qcow2,bus=virtio --import \ --network network=default,model=virtio \ --graphics none \ --noautoconsole
-
SSH 登入虚拟机
# 获取虚拟机 IP virsh domifaddr centos-stream-8 # Name MAC address Protocol Address # ------------------------------------------------------------------------------- # vnet0 52:54:00:6c:41:39 ipv4 192.168.122.46/24 IP=$(virsh domifaddr centos-stream-8 | grep -Po '\d+\.\d+\.\d+\.\d+') ssh "root@${IP}" # 密码为前面设置的 12345
-
拓展分区大小为磁盘大小(虚拟机内)
# ========== 虚拟机内 ========== # 拓展分区大小 growpart /dev/vda 1 xfs_growfs / # 确认分区大小 df -Th
-
设置静态 IP 地址 & DNS(虚拟机内)
# ========== 虚拟机内 ========== sed -Ei -e '/^BOOTPROTO=.*$/d' -e '/^PERSISTENT_DHCLIENT=.*$/d' /etc/sysconfig/network-scripts/ifcfg-eth0 cat >>/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF $(ip route | sed -En \ -e 's|^[^/]+/([^ ]+) dev eth0 .* src ([^ ]+) .*$|PREFIX="\1"\nIPADDR="\2"|p' \ -e 's|^default via ([^ ]+) dev eth0 .*$|GATEWAY="\1"|p') DNS1="223.5.5.5" DNS2="223.6.6.6" EOF # 确认配置无误 cat /etc/sysconfig/network-scripts/ifcfg-eth0 # 可选:设置 hostname 为 IP 地址 hostnamectl set-hostname "$(hostname -I | sed 's|\.|-|g')"
-
转发虚拟机 SSH 服务端口到本地端口 22XXX
IP=$(virsh domifaddr centos-stream-8 | grep -Po '\d+\.\d+\.\d+\.\d+') LOCAL_PORT=22$(grep -Po '\d+$' <<< "${IP}" | xargs printf '%03d') docker run -d --name="ssh-${LOCAL_PORT}" --restart=always --net=host alpine/socat \ tcp-listen:"${LOCAL_PORT}",fork,reuseaddr tcp4-connect:"${IP}":22
标签:Stream,stream,centos,--,IP,虚拟机,CentOS,images 来源: https://www.cnblogs.com/roy2220/p/15415798.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。