Задача: Хочу через Fog Project настроить автоматизированную установку Debian 10 с применением файла ответов.
Все следующие шаги накладываю на существующий сервис в моей локальной сети именуемый, как FOG. О нем кстати я уже много всего опубликовал на своем основном блоге, см. сюда кому интересно.
Подключаюсь к своему сервису srv-fog
по SSH
который хостится на моем домашнем сервере базирующемся в виртуальном контейнера ESXi VM
железа HP MicroServer Gen8
Шаг №1: Создаю структуру файлов дистрибутива и ядра:
ekzorchik@srv-fog:~$ ekzorchik@srv-fog:~$ sudo mkdir -p /images/os/debian/buster ekzorchik@srv-fog:~$ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.0.0-amd64-netinst.iso ekzorchik@srv-fog:~$ sudo mount -o loop debian-10.0.0-amd64-netinst.iso /mnt ekzorchik@srv-fog:~$ sudo cp -fr /mnt/* /images/os/debian/buster/ ekzorchik@srv-fog:~$ sudo chown -R root:root /images/os/debian/ ekzorchik@srv-fog:~$ sudo umount /mnt ekzorchik@srv-fog:~$ sudo mkdir -p /tftpboot/os/debian/buster ekzorchik@srv-fog:~$ cd /tftpboot/os/debian/buster/ ekzorchik@srv-fog:/tftpboot/os/debian/buster$ sudo wget http://ftp.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz ekzorchik@srv-fog:/tftpboot/os/debian/buster$ sudo wget http://ftp.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux ekzorchik@srv-fog:/tftpboot/os/debian/buster$ md5sum * && ls -lh 21a73184fc50585bd4da713826fc88f0 initrd.gz 73a8f54234bcb1cb823b0e7bab80a19f linux total 35M -rw-r--r-- 1 fog root 30M Jul 2 01:39 initrd.gz -rw-r--r-- 1 fog root 5.0M Jul 2 01:39 linux ekzorchik@srv-fog:/tftpboot/os/debian/buster$ ekzorchik@srv-fog:/tftpboot/os/debian/buster$ cd ~ ekzorchik@srv-fog:~$ sudo chown -R fog:root /tftpboot/os/debian/ ekzorchik@srv-fog:~$
Шаг №2: Создаю файл ответов (server.seed
) посредством которого от меня, как системного администратора не будет не одного ручного действия, установщик сам поставит систему, создаст пользователя, назначит предопределенный пароль и т.д.
ekzorchik@srv-fog:~$ sudo chown -R fog:root /tftpboot ekzorchik@srv-fog:~$ sudo mkdir -p /var/www/fog/debian/buster ekzorchik@srv-fog:~$ sudo nano /var/www/fog/debian/buster/server.seed d-i debian-installer/locale string en_US.UTF-8 d-i debian-installer/language string en d-i localechooser/supported-locales multiselect en_US.UTF-8 d-i debian-installer/country string US d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i console-setup/modelcode string SKIP d-i keyboard-configuration/xkb-keymap select us #d-i keyboard-configuration/toggle select No toggling d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-hostname d-i mirror/http/hostname string srv-debian d-i mirror/hthtp/domain string polygon.local d-i passwd/user-fullname string d-i passwd/root-login boolean false d-i passwd/username string ekzorchik d-i passwd/user-password password 712mbddr@ d-i passwd/user-password-again password 712mbddr@ d-i passwd/user-default-groups string sudo d-i user-setup/allow-password-weak boolean true d-i netcfg/choose_interface select auto d-i mirror/country select US d-i mirror/http/mirror select deb.debian.org #172.35.35.8:3142 — это сервис apt-cache-ng: https://www.ekzorchik.ru/2018/12/caching-apt-cacher-ng-packages-on-ubuntu-bionic/ d-i mirror/http/proxy string http://172.35.35.8:3142/ d-i cdrom-detect/manual_config boolean false d-i clock-setup/utc boolean true d-i clock-setup/ntp boolean true d-i time/zone string Europe/Moscow d-i partman/confirm boolean true d-i partman/choose_partition select finish d-i partman/confirm_nooverwrite boolean true d-i partman-auto/disk string /dev/[sv]da d-i partman-auto/method string lvm d-i partman-auto/choose_recipe select atomic d-i partman-lvm/device_remove_lvm boolean true d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman-auto-lvm/guided_size string max d-i partman-partitioning/confirm_write_new_label boolean true d-i grub-installer/grub2_instead_of_grub_legacy boolean true d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string /dev/[sv]da d-i pkgsel/update-policy select none #Все закоменченное ниже все равно ставит Desktop-версию, а не Server #d-i tasksel/first multiselect standard, ssh-server #d-i tasksel/first manual standard ssh-server d-i tasksel/first multiselect standard, ssh-server d-i pkgsel/include string tmux mercurial vim build-essential multipath-tools lsscsi lvm2 htop net-tools openssh-server d-i popularity-contest/participate boolean false d-i finish-install/reboot_in_progress note ekzorchik@srv-fog:~$ sudo chown -R www-data:www-data /var/www/fog/debian/
Шаг №3: Теперь создаю меню загрузки через Web
—панель администрирования FOG
.
http://IP&DNS/fog — user&pass — FOG Configuration — iPXE New Meny Entry
- Menu Item:
Debian 10 Desktop
- Description:
Debian 10 Desktop
- Parameters:
kernel tftp://${fog-ip}/os/debian/buster/linux
initrd tftp://${fog-ip}/os/debian/buster/initrd.gz
imgargs linux initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/debian/buster/ locale=en_US.UTF-8 keyboard-configuration/xkb-keymap=us console-keymaps-at/keymap=us netcfg/get_hostname=srv-debian netcfg/get_domain=polygon.local url=http://172.35.35.7/fog/debian/buster/server.seed ip=dhcp rw
boot || goto MENU
Menu Show with:
All Hosts
И нажимаю Save Changes
Шаг №4: Для проверки правильности настройки сетевой установки я использую стенд «QEMU-KVM on Ubuntu 18.04 Server». Создаю VM
(через virt-manager
)и выставляю в ней свойства: «Параметры загрузки
»:
1. Порядок загрузки NIC
2. Порядок загрузки VirtiO Диск1
Шаг №5: Запускаю VM
и выбираю меню установки операционной системы Debian 10 Desktop
из текущего выбора и нажимаю клавишу Enter
Шаг №6: По итогу сетевого развертывания операционной системы Debian 10 Buster
я получаю Desktop
систему, ожидающую авторизации, авторизовавшись см. система успешно установлена с учетом моего файла ответов. Как додумаюсь, чтобы поставить только Server редакцию через файл ответов, то дополню текущую заметку. Server редакция у меня устанавливается только когда я вручную иду по шагам мастера инсталляции, а вот через iPXE
почему-то ни как, хотя Debian 9.6
таких проблем не испытывает.
Шаг №7: Для чего все это выше делается, если я использую только Ubuntu
, а все потому что буду переводить свою виртуализацию под лабораторные работы с QEMU+KVM
на proxmox. Proxmox
к сожалению существует только под Debian
. Ну хоть эти системы: Ubuntu & Debian
объединены deb
-ориентированностью, что меня радует.
Итого: Поставленная самому себе задача по разбору, как установить Debian 10 Buster
через сервис FOG Project
успешно выполнена в той мере в которой мне почти и нужно было. Главное что есть заметка, а уже от нее и буду отталкиваться, на этом у меня все, с уважением Олло Александр aka ekzorchik.