在VDS 256上安装CentOS 8

无论我们是否喜欢,CentOS 8终于有了曙光,在不久的将来,来自社区的企业操作系统的追随者将不得不与它成为朋友。

在决定尝试“狂野”中的八个服务器后,我发现我的托管服务提供商不急于在CentOS 8上创建虚拟服务器映像。由于VDS和贪吃性的适度特征,使用“本机ISO”和“ VNC控制台”的想法并没有激发信心。现代水蟒(anaconda)。

仍然需要将新CentOS的已部署映像直接复制到VDS硬盘驱动器,并通过“网络”下载服务器。 该方法并不新颖,但是,例如,我找不到有关其实现的详细和完整的说明。 因此,我想快速填补这一空白,并讨论在这样的VDS上安装CentOS 8:
KVM,256MB RAM,2GB HDD,不带控制台和ISO



顺便说一句,通过这种方式,您不仅可以安装或重新安装CentOS,而且不必在虚拟环境中安装或重新安装。

0. VDS的特征


正如文章开头所说:


顺便说一下,托管提供商现在以其最便宜的价格为VDS提供了更强大的功能。 让CentOS 7作为预安装的操作系统,我认为现在几乎所有虚拟化提供商都可以使用。

1.三个珍贵的档案


首先,您需要一个“捐赠者” -一个安装了CentOS 8的附加服务器,虽然这并不重要,但是如果捐赠者的技术特征与VDS一致,那么安装的麻烦将大大减少。

内存量和施主磁盘的大小并不重要,主要是在其上安装操作系统。 我明确建议用一个根分区标记施主磁盘。

由于在这种情况下存在KVM VDS,因此可以在任何Linux发行版上使用libvirt在家里烘烤供体。 我更喜欢额外的最小初始设置,这在任务的情况下将有很大帮助。 在本文中,我讨论了制作小型CentOS映像的标准方法。 在扰流板下,有相应的kickstart文件以及如何使用它:

CentOS 8 Tiny
install text url --url="https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/" eula --agreed firstboot --disable keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 timezone Africa/Abidjan auth --enableshadow --passalgo=sha512 rootpw --plaintext very-strong-password-see-below #ignoredisk --only-use=vda zerombr bootloader --location=mbr clearpart --all --initlabel part / --fstype="ext4" --size=1 --grow network --bootproto=dhcp --hostname=localhost --onboot=on --activate #reboot poweroff %packages --nocore dnf NetworkManager openssh-server %end %addon com_redhat_kdump --disable %end 

您可以将此文件放在任何可用的Web资源上,并在安装开始时指定它:

图片

我会注意root密码:我强烈建议您将密码设置为难于选择,以免小流氓在下一阶段搜索娱乐时遇到麻烦。

创建供体后,您需要将其磁盘上的所有文件都放入一个存档中,例如centos8.tgz 。 您可以通过不同的方式执行此操作:将施主磁盘连接到另一个虚拟机,将其安装到虚拟机管理程序,或将其所有文件打包在施主本身中,但虚拟目录(/ dev,/ proc等)除外。

此外,还需要捐助者提供两个文件:内核( vmlinuz )和修改后的ramdrive( initrd )。 可以将内核放在提供者的/ boot目录(vmlinuz-something-there)中,并且需要通过包括从NFS服务器通过网络引导的功能来使ramdrive变得特别。 为此,在工作的供体操作系统中,您需要执行以下操作:

 # dnf install dracut-network nfs-utils # echo 'add_dracutmodules+="nfs"' >> /etc/dracut.conf # dracut -f /initrd 

并从磁盘根目录获取必要的initrd。

结果,将来将需要三个文件:

  • centos8.tgz-将已安装的CentOS 8的所有文件存档
  • initrd-具有NFS支持的临时文件系统
  • vmlinuz-操作系统内核

 # ls -l | awk '{print $9,$5}' centos8.tgz 320712609 initrd 21916741 vmlinuz 7876856 

尽管可能会派上用场,但不再需要捐助者(见下文)

2. NFS服务器


要在不使用本地磁盘的情况下通过网络下载VDS,您将需要一台具有NFS资源的服务器。 这样的服务器可以是任何东西,主要是从VDS的IP地址获得的网络可用性。 您可以尝试家用设备(可能带有“路由器上的端口转发”)或任何其他VDS,例如用于测试。 最后,如果可以通过NFS(只是在开玩笑)来管理它,请使用“捐助者”。 安装CentOS 8之后,将不再需要NFS服务器,就像捐赠者一样。

导出的NFS资源的根目录中必须包含centos8.tgz文件及其解压缩的内容。 这是一个以CentOS 7为例的快速生产指南:

 # mkdir /nfsroot # cp .../centos8.tgz /nfsroot # tar xzf /nfsroot/centos8.tgz -C /nfsroot # yum install nfs-utils # systemctl enable rpcbind nfs-server # echo '/nfsroot 100.100.100.100/32(rw,sync,no_root_squash,no_all_squash)'>/etc/exports # systemctl restart rpcbind nfs-server 

100.100.100.100当然是将来的CentOS 8的VDS IP地址。

3.“通过网络”下载VDS(NFSroot)


首先,您需要将第一步中获得的ramdrive( initrd )和内核( vmlinuz文件复制到VDS根目录。 然后,配置GRUB:

/etc/grub.d/40_custom

 #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "NFSRoot" { linux /vmlinuz root=/dev/nfs rw nfsroot=200.200.200.200:/nfsroot \ ip=100.100.100.100::100.100.100.1:255.255.255.0:::off initrd /initrd } 

200.200.200.200-NFS服务器的IP地址。

/ etc /默认/ grub

 . . . GRUB_TIMEOUT=0 . . . GRUB_DEFAULT="NFSRoot" . . . 

并重新启动VDS:

 # grub2-mkconfig --output=/boot/grub2/grub.cfg # reboot 

如果一切顺利,VDS将加载CentOS 8施主,并且本地驱动器将完全卸载:



4.“安装” CentOS 8


现在,您可以重新格式化和格式化本地VDS磁盘,将OS文件复制到其中,安装引导加载程序并配置网络。 必要动作的简要说明:

 # dnf install parted tar # parted /dev/vda unit s print free Model: Virtio Block Device (virtblk) Disk /dev/vda: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 63s 2047s 1985s Free Space 1 2048s 526335s 524288s primary linux-swap(v1) 2 526336s 4194303s 3667968s primary xfs boot # dd if=/dev/zero of=/dev/vda count=3000 

在小型VDS上,我更喜欢以下磁盘配置:

 # parted /dev/vda unit s print free Model: Virtio Block Device (virtblk) Disk /dev/vda: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 2s 2047s 2046s Free Space 1 2048s 4194303s 4192256s primary boot 

格式化,删除保留并将UUID值设置为“ donor”:

 # mkfs.ext4 /dev/vda1 # cat /etc/fstab | grep UUID UUID=1f944e86-c590-4af7-b651-3c1783c15d79 / ext4 defaults 1 1 # tune2fs -m 0 -U 1f944e86-c590-4af7-b651-3c1783c15d79 /dev/vda1 tune2fs 1.44.3 (10-July-2018) Setting reserved blocks percentage to 0% (0 blocks) Setting UUID on a checksummed filesystem could take some time. Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y 

复制操作系统文件并安装引导程序:

 # mount /dev/vda1 /mnt # tar xzf /centos8.tgz -C /mnt # grub2-install --boot-directory=/mnt/boot /dev/vda Installing for i386-pc platform. Installation finished. No error reported. 

由于网络管理器了解传统 ,因此您可以创建适当的ifcfg文件来配置网络。 接口名称可以找到:

 # ls /sys/class/net/ enp1s0 lo 

 # cat > /etc/sysconfig/network-scripts/ifcfg-enp1s0 << EOF > DEVICE=enp1s0 > NAME=enp1s0 > TYPE=Ethernet > ONBOOT=y > BOOTPROTO=none > IPADDR=100.100.100.100 > NETMASK=255.255.255.0 > GATEWAY=100.100.100.1 > EOF 

就是这样,您可以从其本地驱动器重新引导VDS。

5.结论


安装了最低CentOS 8的VDS:



有用的链接:

www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
access.redhat.com/documentation

Source: https://habr.com/ru/post/zh-CN474392/


All Articles