本地内网,使用 Alibaba Cloud Linux 3 镜像,模拟阿里云线上系统环境

Alibaba Cloud Linux 3(Kernel 5.10.x) 基于龙蜥社区社区系统 Anolis OS 构建,在兼容 RHEL/CentOS 生态的同时,为云上应用程序提供安全、稳定、高性能的定制化运行环境,并针对云基础设施进行了深度优化,为您打造更好的云上操作系统体验。Alibaba Cloud Linux 3 生命截止周期:2031-04-30

镜像准备

下载虚机磁盘镜像、及引导镜像

# 下载阿里云官方默认引导镜像 seed.img
wget https://alinux3.oss-cn-hangzhou.aliyuncs.com/seed.img

# 将其格式转换为 qcow2,便于虚机创建快照(img 格式不支持快照)
qemu-img convert -p -f raw -O qcow2 seed.img seed.qcow2

# 下载虚拟磁盘镜像,该镜像不可直接启动虚机,需要配置引导镜像
wget https://alinux3.oss-cn-hangzhou.aliyuncs.com/aliyun_3_x64_20G_nocloud_alibase_20230727.qcow2
mv aliyun_3_x64_20G_nocloud_alibase_20230727.qcow2 aliyun3.qcow2

创建虚机

1、虚机 xml 配置模板 alinux3.xml

<domain type='kvm'>
    <name>alinux3</name>
    <memory>4194304</memory><!-- 1 GB内存。 -->
    <vcpu>4</vcpu>
    <cpu mode='host-passthrough'><!-- 需要在对应架构的服务器上启动实例。 -->
    </cpu>
    <os>
        <type arch='x86_64'>hvm</type><!-- 如果是ARM64架构的服务器,则需设置为arch='aarch64'。 -->
        <boot dev='hd'/>
    </os>
    <clock sync="localtime"/>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>restart</on_crash>
    <!-- 通过 virsh shutdown 关闭该虚机 -->
    <features>
        <acpi/>
        <apic/>
        <pae/>
    </features>
    <devices>
        <emulator>/usr/bin/kvm</emulator><!-- 请根据不同的操作系统设置对应的kvm路径。例如:Ubuntu对应的kvm路径是/usr/bin/kvm。 -->
        <disk type='file' device='disk'><!-- 请根据镜像格式设置下面的type参数:qcow2对应type='qcow2'、vhd对应type='vpc'。 -->
            <driver name='qemu' type='qcow2' cache='none' dataplane='off' io='native'/> <!-- 如果要创建qcow2快照,需要关闭dataplane。 -->
            <source file='/mnt/vm/iso/alinux3.qcow2'/> <!-- 填写Alibaba Cloud Linux 3镜像的绝对路径。 -->
            <target dev='vda' bus='virtio'/>
        </disk>
        <!-- 加入seed.img的信息。 -->
        <disk type='file' device='disk'>
            <driver name='qemu' type='qcow2'/>   <!-- raw 对应磁盘格式 img -->
            <source file='/mnt/vm/iso/seed.qcow2'/> <!-- 填写seed镜像的绝对路径。 -->
            <target dev='vdb' bus='virtio'/>
        </disk>
        <!-- 虚机网卡配置 -->
        <interface type='bridge'>
            <source bridge='br1'/>      <!-- 桥接到宿主机网络,需先创建网桥 br1  -->
            <!-- <source network='default'/>  -->  <!-- 默认 nat 网络 -->
            <model type='virtio'/>
        </interface>
        <console type='pty'>
            <target type='virtio' port='0'/>
        </console>
        <video>
            <model type='cirrus' vram='9216' heads='1'/>
            <alias name='video0'/>
        </video>
        <input type='tablet' bus='usb'/>
        <input type='mouse' bus='ps2'/>
        <!-- 通过 vnc 登录控制台,启用 sshd 服务的密码验证 -->
        <graphics type='vnc' port='59120' autoport='no' listen='0.0.0.0'>
            <listen type='address' address='0.0.0.0'/>
        </graphics>
    </devices>
</domain>

2、创建虚机

virsh define alinux3.xml
virsh start alinux3

系统初始化

默认用户名是 alinux,密码是 aliyun。该信息由阿里官方默认引导镜像提供,可通过构建引导镜像,自定义虚机初始化配置信息

1、启用密码认证,默认未启用

# cat /etc/ssh/sshd_config
PasswordAuthentication yes

2、本系统镜像默认启用的服务

netstat -nltp
#> Active Internet connections (only servers)
#> Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
#> tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      536/systemd-resolve
#> tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
#> tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1090/rpc.mountd
#> tcp        0      0 0.0.0.0:36081           0.0.0.0:*               LISTEN      1073/rpc.statd
#> tcp        0      0 0.0.0.0:43957           0.0.0.0:*               LISTEN      -
#> tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1938/sshd
#> tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -
#> tcp6       0      0 :::5355                 :::*                    LISTEN      536/systemd-resolve
#> tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
#> tcp6       0      0 :::20048                :::*                    LISTEN      1090/rpc.mountd
#> tcp6       0      0 :::42993                :::*                    LISTEN      -
#> tcp6       0      0 :::2049                 :::*                    LISTEN      -
#> tcp6       0      0 :::33701                :::*                    LISTEN      1073/rpc.statd

# 通过如下命令关闭这些服务,世界瞬间清净了《此处有掌声...》
systemctl stop nfs-server.service systemd-resolved.service rpcbind.service
systemctl disable nfs-server.service systemd-resolved.service rpcbind.service

3、执行系统安全更新

dnf upgrade-minimal --security

Clone 虚机

通过 clone 操作,快速在本地内网环境,搭建多台测试服务器

1、执行 virt-clone 克隆时报错,根据报错提示,可通过 virsh edit n1 删除虚机 vdb disk device 配置(即系统引导盘镜像设备 seed.qcow2 )

virt-clone -o alinux3 -n n1 -f /mnt/vm1/n1.qcow2
#> WARNING  Setting the graphics device port to autoport, in order to avoid conflicting.
#> ERROR    missing source information for device vdb

2、再次执行克隆操作,就 Ok 了…

virt-clone -o alinux3 -n n1 -f /mnt/vm1/n1.qcow2
#>WARNING  Setting the graphics device port to autoport, in order to avoid conflicting.
#>Allocating 'n1.#>qcow2'                                                                                                                                                                               |  20 GB  00:00:42
#>Clone 'n1' created successfully.

3、克隆成功后,编辑虚机 n1 配置,将之前删除的引导镜像盘 vdb 添加回去即可

<disk type='file' device='disk'>
    <driver name='qemu' type='qcow2'/>
    <source file='/mnt/vm/iso/seed-n1.qcow2'/>
    <target dev='vdb' bus='virtio'/>
</disk>

需要注意的是,引导镜像 seed.qcow2 不能被每个虚机共享,因此需对每虚机复制一份引导镜像文件 seed-n1.qcow2

码字不易,若觉得本文对你有用,欢迎点赞 👍、分享 🚀 ,相关技术热点时时看🔥🔥🔥​​​…

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值