Я столкнулся с проблемой автоматической установки сервера.
Это моя среда:
Сервер: centos 7.6 x86_64 (система kvm)
Node1: нет системы
Node2: нет системы
Я хочу автоматизировать установку серверной системы Ubuntu-20.04.3.
О Server1 я устанавливаю tftpd, dhcpd, httpd.
какой-то такой конфиг:
# тфтпд
# кот /etc/xinetd.d/tftp
служба tftp
{
тип_сокета = дграмма
протокол = UDP
подождите = да
пользователь = корень
сервер = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
отключить = да
per_source = 11
спс = 100 2
флаги = IPv4
}
# dhcpd
# кот /etc/dhcp/dhcpd.conf
стиль ddns-обновления нет;
подсеть 10.10.8.0 сетевая маска 255.255.252.0 {
опциональные маршрутизаторы 10.10.11.254;
вариант доменных имен-серверов 10.10.9.250;
опция маска подсети 255.255.252.0;
диапазон динамической загрузки 10.10.11.10 10.10.11.220;
время аренды по умолчанию 21600;
максимальное время аренды 43200;
следующий сервер 10.10.11.245;
имя файла "pxelinux.0";
}
# httpd
# кот /etc/httpd/conf.d/tftp.conf
<Каталог /var/lib/tftpboot>
Опции +FollowSymLinks +Индексы
Требовать все предоставленные
</Каталог>
Псевдоним /tftp /var/lib/tftpboot
Файлы в /var/lib/tftpboot
# ll /var/lib/tftpboot/
æ»ç¨é 1328744
drwxrwxrwx 2 root root 22 12æ 8 18:40 grub
-rwxrwxrwx 1 root root 86017541 11æ 25 17:40 initrd
-rwxrwxrwx 1 root root 31 11æ 25 17:45 метаданные
-rwxrwxrwx 1 root root 336 12æ 8 20:03 network.sh
-rwxrwxrwx 1 root root 1435512 4æ 16 2020 pxelinux.0
-rwxrwxrwx 1 root root 1261371392 8æ 24 17:09 ubuntu-20.04.3-live-server-amd64.iso
-rwxrwxrwx 1 root root 1353 12æ 8 20:03 ubuntu_init.sh
-rwxrwxrwx 1 root root 2856 12æ 8 20:17 пользовательские данные
-rwxrwxrwx 1 root root 11772160 11æ 25 17:40 vmlinuz
grub.cfg
# кошка жратва/grub.cfg
по умолчанию = автоматическая установка
таймаут=5
timeout_style = меню
установить menu_color_normal=белый/черный
установить menu_color_highlight=черный/светло-серый
пункт меню "Focal Live Installer - автоматизированный" --id=autoinstall {
echo "Загрузка ядра... 1111"
linux /vmlinuz root=/dev/ram0 ramdisk_size=1500000 root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=http://10.10.11.245/tftp/ubuntu-20.04.3-live-server-amd64.iso автоустановка ds=nocloud-net\;s=http://10.10.11.245/tftp/ ---
echo "Загрузка RAM-диска... 111"
initrd / initrd
}
пункт меню "Focal Live Installer" --id=install {
echo "Загрузка ядра... 22"
linux /vmlinuz root=/dev/ram0 ramdisk_size=1500000 ramdisk_size=1500000 ip=dhcp url=http://10.10.11.245/tftp/ubuntu-20.04.3-live-server-amd64.iso
echo "Загрузка RAM-диска... 22"
initrd / initrd
}
метаданные
# метаданные кота
идентификатор экземпляра: фокальная автоустановка
данные пользователя
# пользовательские данные кота
#cloud-config
автоустановка:
подходящий:
IP-адрес: правда
save_sources_list: ложь
начальный:
- арки: [amd64, i386]
ури: http://mirrors.aliyun.com/ubuntu
- арки: [по умолчанию]
URI: http://ports.ubuntu.com/ubuntu-ports
данные пользователя:
часовой пояс: Азия/Шанхай
отключить_корень: ложь
пароль:
список: |
корень:$6$YMYlEcE71$/bcl2qd2rSYePvOkmgAyQR/ч/
идентификатор: {имя хоста: 111, пароль: $6$ereNXNuj9WVUt77B$.dbpuHaLernNl6qq6r14meIk1W5VAyaMV9.,
настоящее имя: 11, имя пользователя: 11}
клавиатура: {раскладка: США, переключатель: ноль, вариант: ''}
локаль: en_US.UTF-8
сеть:
Ethernet:
ено12399:
критический: правда
DHCP-идентификатор: Mac
DHCP4: правда
серверы имен:
адреса: [10.10.9.250]
eno12409: {dhcp4: правда}
eno12419: {dhcp4: правда}
eno12429: {dhcp4: правда}
eno8303: {dhcp4: правда}
eno8403: {dhcp4: правда}
версия: 2
прокси: http://mirrors.aliyun.com/ubuntu
СШ:
разрешить-pw: правда
авторизованные ключи: []
сервер установки: правда
место хранения:
жратва:
reorder_uefi: Ложь
конфигурация:
- {ptable: gpt, путь: /dev/sda, wipe: superblock-recursive, save: false, name: '', grub_device: false,
тип: диск, идентификатор: disk-sda}
- {устройство: disk-sda, размер: 536870912, wipe: superblock, флаг: boot, число: 1,
сохранить: false, grub_device: true, тип: раздел, идентификатор: раздел-2}
- {fstype: fat32, том: раздел-2, сохранить: false, тип: формат, идентификатор: формат-2}
- {устройство: disk-sda, size: -1, wipe: superblock, flag: '', number: 2,
сохранить: false, grub_device: false, тип: раздел, идентификатор: раздел-3}
- {fstype: xfs, том: раздел-3, сохранить: ложь, тип: формат, идентификатор: формат-3}
- {путь: /, устройство: формат-3, тип: mount, id: mount-3}
- {путь: /boot/efi, устройство: формат-2, тип: mount, идентификатор: mount-2}
обновления: безопасность
пакеты:
- общий для Linux
- сетевые инструменты
поздние команды:
- curtin in-target --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh
- curtin in-target --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/network.sh
- curtin in-target --target=/target -- /usr/bin/bash /root/ubuntu_init.sh
#- curtin in-target --target=/target -- sed -i 's/#PermitRootLogin запрещающий пароль/PermitRootLogin yes/' /etc/ssh/sshd_config && systemctl restart sshd
#- curtin in-target --target=/target -- systemctl остановить ufw.service && systemctl отключить ufw.service
#- curtin in-target --target=/target -- echo -e "NTP=ntp1.aliyun.com\nFallbackNTP=ntp.ubuntu.com" >> /etc/systemd/timesyncd.conf && systemctl restart systemd-timesyncd
версия: 1
Ubuntu_init.sh
#!/бин/баш
sed -i 's/#PermitRootLogin запрещающий пароль/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl перезапустить sshd
systemctl остановить ufw.service
systemctl отключить ufw.service
#
echo -e "NTP=ntp1.aliyun.com\nFallbackNTP=ntp.ubuntu.com" >> /etc/systemd/timesyncd.conf
systemctl перезапустить systemd-timesyncd
#
кошка >> /etc/security/limits.conf << EOF
* мягкий nofile 655350
* жесткий nofile 655350
* софт нпрок 655350
* жесткий нпрок 655350
корневой мягкий nofile 655350
корневой жесткий nofile 655350
корень мягкий нпрок 655350
жесткий корень nproc 655350
EOF
#########################################
СР /etc/sysctl.conf /etc/sysctl.conf.bak
кошка > /etc/sysctl.conf << EOF
vm.swappiness = 0
ядро.sysrq = 1
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_slow_start_after_idle = 0
EOF
/sbin/sysctl -p
Моя проблема
Когда я запускаю автоматическую установку pxe на Dell R750 или других машинах с открытым сервисным сервером UEFI.
tftp,dhcpd,httpd в порядке. но когда сервер выполняет "поздние команды", например wget
или же завиток
то сообщите об ошибке. другие команды bash могут выполняться без ошибок, например эхо
,сед
,запуск службы systemctl
и так далее.
когда ошибка автоматической установки, то сообщите об ошибке и нарушении этой установки системы. я использую wget
может загрузить файл bash с моего httpd-сервера и выполнить его.
картинка для этого:
ошибка фото
Если вы медленно открываете изображение ошибки, вот описание ошибки:
start: subiquity/Late/run/command_0: curtin in-target --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh
начало: subiquity/Meta/status_GET
Finish: subiquity/Late/run/command_0: Command '['system-cat', '--level-prefix=false', '--identifier=subiquity_log.3140', 'sh', 'c', 'занавес в -target --target=/target --/usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh']' возвратил ненулевой статус выхода 8.ip a
httpd журнал
10.10.11.94 - - [13/дек/2021:15:58:40 +0800] "GET /tftp/ubuntu-20.04.3-live-server-amd64.iso HTTP/1.1" 200 1261371392 "-" "Wget"
10.10.11.94 - - [13/дек/2021:15:59:01 +0800] "GET /tftp/ubuntu-20.04.3-live-server-amd64.iso HTTP/1.1" 200 1261371392 "-" "Облако- Инициализация/21.2-3-g899bfaa9-0ubuntu2~20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:13 +0800] "GET /tftp/ubuntu-20.04.3-live-server-amd64.iso HTTP/1.1" 200 1261371392 "-" "Облако- Инициализация/21.2-3-g899bfaa9-0ubuntu2~20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:25 +0800] "GET /tftp/meta-data HTTP/1.1" 200 31 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:25 +0800] "GET /tftp/user-data HTTP/1.1" 200 2772 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:25 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:26 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:27 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:28 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:29 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:30 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:31 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:32 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:33 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:34 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
10.10.11.94 - - [13/дек/2021:15:59:35 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"
Я выполняю его вручную без ошибок.
Если кто-нибудь знает, как решить эту проблему или у меня такая же проблема, пожалуйста, пришлите мне сообщение, спасибо.
если я не ясно выразился, вы можете указать.