Установка Centos 8 На Vds 256

CentOS 8 наконец-то увидела свет и, хотим мы того или нет, в ближайшем будущем приверженцам корпоративной операционной системы из сообщества придется с ней подружиться.

Решив протестировать восьмерку в натуре, я обнаружил, что мои хостинг-провайдеры не спешат создавать образ виртуального сервера на CentOS 8. А идея «своего ISO» и «VNC-консоли» не воодушевила доверие из-за скромных характеристик VDS и прожорливости современной анаконды.

Оставалось только скопировать развернутый образ новой CentOS прямо на жесткий диск VDS, загрузив сервер «по сети».

Метод не блещет новизной, но подробной и полной инструкции по его реализации, например, мне найти не удалось.

Поэтому мне хотелось быстро восполнить этот пробел и рассказать об установке CentOS 8 на этот VDS:

KVM, 256 МБ ОЗУ, 2 ГБ жесткого диска, без консоли и ISO


Установка CentOS 8 на VDS 256

Кстати, таким способом можно установить или переустановить не только CentOS и не обязательно в виртуальной среде.

0. Характеристики VDS Как сказано в начале статьи:

Установка CentOS 8 на VDS 256

Кстати, хостинг-провайдеры сейчас предлагают VDS с более мощными характеристиками в своих самых бюджетных тарифах.

Пусть предустановленной операционной системой будет CentOS 7. Думаю, что это сейчас возможно практически со всеми провайдерами виртуализации.

1. Три заветных файла Прежде всего, вам понадобится "донор" — дополнительный сервер с установленной CentOS 8. Хотя это и не важно, если технические характеристики донора совпадают с VDS, то мороки с настройкой будет гораздо меньше.

Объем памяти и размер диска-донора не важны, главное – установить на него операционную систему.

Настоятельно советую разбить диск-донор на один корневой раздел.

Так как в данном случае стоит KVM VDS, донор можно пропечь дома - на любом дистрибутиве Linux с libvirt .

Я предпочитаю дополнительную минимальную начальную настройку, которая будет существенным подспорьем в условиях поставленной задачи.

В Эта статья Я рассказал о стандартном способе создания крошечного образа CentOS. Под спойлером соответствующий файл кикстарта и способы его использования: CentOS 8 крошечный

  
  
  
  
  
  
  
  
  
  
  
  
   

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

Вы можете разместить этот файл на любом доступном веб-ресурсе и указать его в начале установки:

Установка CentOS 8 на VDS 256

Хочу обратить ваше внимание на пароль root: настоятельно рекомендую сделать его максимально сложным, чтобы на последующих этапах у вас не возникло проблем с хулиганами, сканирующими Интернет в поисках развлечений.

После изготовления донора нужно собрать все файлы с его диска в один архив, скажем, centos8.tgz .

Сделать это можно разными способами: подключить диск-донор к другой виртуальной машине, смонтировать его в гипервизор или запаковать все его файлы в сам донор, исключая виртуальные каталоги (/dev, /proc и т.д.) Далее донору понадобятся еще два файла: ядро ( вмлинуз ) и модифицированный прямой привод ( initrd ).

Ядро можно взять из донорского каталога /boot (vmlinuz-что угодно), а рамдрайв нужно сделать специальным, включая возможность загрузки по сети с NFS-сервера.

Для этого на работающей операционной системе-доноре необходимо запустить:

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

и берем необходимый initrd из корня диска.

В результате есть три файла, которые понадобятся в дальнейшем:

  • centos8.tgz - архив со всеми файлами установленной CentOS 8
  • initrd - временная файловая система с поддержкой NFS
  • вмлинуз - ядро ОС


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

Донор теперь уже не нужен, хотя может пригодиться (см.

ниже) 2. NFS-сервер Для загрузки VDS по сети без использования локального диска вам понадобится сервер с ресурсом NFS. Такой сервер может быть каким угодно, главное — его доступность в сети с IP-адреса VDS. Можно попробовать домашнее оборудование (с возможной «проброской портов на роутере») или любой другой 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 — это, конечно же, IP-адрес VDS с будущей CentOS 8. 3. Загрузка VDS «по сети» (NFSroot) Первым делом необходимо скопировать файлы рамдрайва в корень VDS ( initrd ) и ядра ( вмлинуз ), полученное на первом этапе.

Затем настройте 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 — IP-адрес NFS-сервера.

/etc/default/grub

.

.

.

GRUB_TIMEOUT=0 .

.

.

GRUB_DEFAULT="NFSRoot" .

.

.



И перезагружаем VDS:

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

Если все пройдет без ошибок, VDS загрузит донорскую CentOS 8, а локальный диск полностью размонтируется:

Установка CentOS 8 на VDS 256

4. «Установка» CentOS 8. Теперь вы можете переразбить и отформатировать локальный VDS-диск, скопировать на него файлы ОС, установить загрузчик и настроить сеть.

Краткое описание необходимых действий:

# 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 «донор»:

# 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. Вывод VDS с установленной минимальной версией CentOS 8:

Установка CentOS 8 на VDS 256

Полезные ссылки: www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt access.redhat.com/документация Теги: #Системное администрирование #Настройка Linux #centos #nfsroot

Вместе с данным постом часто просматривают: