Điểm:0

Máy chủ tự động Cài đặt các khóa cấp cao nhất của tệp cấu hình âlate-commandsâ không thể sử dụng wget hoặc curl

lá cờ ps

tôi đã gặp sự cố về cài đặt Máy chủ tự động.

Đây là env của tôi: Máy chủ: centos 7.6 x86_64 (hệ thống kvm của nó) Nút1: không có hệ thống Node2: không có hệ thống

Tôi muốn tự động cài đặt hệ thống Máy chủ Ubuntu-20.04.3.

Giới thiệu về Server1 tôi cài đặt tftpd, dhcpd, httpd. một số cấu hình như thế này:

#tftpd
# mèo /etc/xinetd.d/tftp
dịch vụ tftp
{
    socket_type = dgram
    giao thức = udp
    đợi = vâng
    người dùng = gốc
    máy chủ = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    vô hiệu hóa = có
    per_source = 11
    cps = 100 2
    cờ = IPv4
}


# dhcpd
# con mèo /etc/dhcp/dhcpd.conf
ddns-update-style không;
mạng con 10.10.8.0 mặt nạ mạng 255.255.252.0 {
     bộ định tuyến tùy chọn 10.10.11.254;
     tùy chọn máy chủ tên miền 10.10.9.250;
     tùy chọn mặt nạ mạng con 255.255.252.0;
     phạm vi động-bootp 10.10.11.10 10.10.11.220;
     thời gian thuê mặc định 21600;
     thời gian thuê tối đa 43200;
     máy chủ tiếp theo 10.10.11.245;
     tên tệp "pxelinux.0";
}

# httpd
# con mèo /etc/httpd/conf.d/tftp.conf
<Thư mục /var/lib/tftpboot>
        Tùy chọn +FollowSymLinks +Chỉ mục
        Yêu cầu tất cả cấp
</Thư mục>
Bí danh /tftp /var/lib/tftpboot

tập tin trong /var/lib/tftpboot

# sẽ /var/lib/tftpboot/
æ»ç¨é 1328744
drwxrwxrwx 2 root root 22 12æ 8 18:40 grub
-rwxrwxrwx 1 gốc gốc 86017541 11æ 25 17:40 initrd
-rwxrwxrwx 1 root root 31 11æ 25 17:45 siêu dữ liệu
-rwxrwxrwx 1 gốc gốc 336 12æ 8 20:03 network.sh
-rwxrwxrwx 1 gốc gốc 1435512 4æ 16 2020 pxelinux.0
-rwxrwxrwx 1 gốc gốc 1261371392 8æ 24 17:09 ubuntu-20.04.3-live-server-AMD64.iso
-rwxrwxrwx 1 gốc gốc 1353 12æ 8 20:03 ubuntu_init.sh
-rwxrwxrwx 1 root root 2856 12æ 8 20:17 dữ liệu người dùng
-rwxrwxrwx 1 gốc gốc 11772160 11æ 25 17:40 vmlinuz

grub.cfg

# mèo grub/grub.cfg
mặc định=tự động cài đặt
thời gian chờ = 5
timeout_style=menu

đặt menu_color_normal=trắng/đen
đặt menu_color_highlight=đen/xám nhạt

menuentry "Focal Live Installer - tự động" --id=autoinstall {
    tiếng vang "Đang tải hạt nhân...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 autoinstall ds=nocloud-net\;s=http://10.10.11.245/tftp/ ---
    echo "Đang tải đĩa Ram...111"
    ban đầu / initrd
}
menuentry "Focal Live Installer" --id=install {
    tiếng vang "Đang tải hạt nhân...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 "Đang tải đĩa Ram...22"
    ban đầu / initrd
}

metadata

# siêu dữ liệu mèo
instance-id: tiêu điểm-tự động cài đặt

dữ liệu người dùng

# dữ liệu người dùng mèo
#cloud-config
tự động cài đặt:
  đúng cách:
    geoip: đúng
    bảo tồn_source_list: sai
    sơ cấp:
    - vòm: [amd64, i386]
      truy cập: http://mirrors.aliyun.com/ubuntu
    - vòm: [mặc định]
      truy cập: http://ports.ubuntu.com/ubuntu-ports
  dữ liệu người dùng:
    múi giờ: Châu Á/Thượng Hải
    vô hiệu hóa_root: sai
    chpasswd:
      danh sách: |
        gốc:$6$YMYlEcE71$/bcl2qd2rSYePvOkmgAyQR/h/
  danh tính: {tên máy chủ: 111, mật khẩu: $6$ereNXNuj9WVUt77B$.dbpuHaLernNl6qq6r14meIk1W5VAyaMV9.,
    tên thật: 11, tên người dùng: 11}
  bàn phím: {bố cục: chúng tôi, chuyển đổi: null, biến thể: ''}
  ngôn ngữ: en_US.UTF-8
  mạng:
    ethernet:
      en12399:
        quan trọng: đúng
        định danh dhcp: mac
        dhcp4: đúng
        máy chủ tên:
          địa chỉ: [10.10.9.250]
      eno12409: {dhcp4: true}
      eno12419: {dhcp4: true}
      eno12429: {dhcp4: true}
      eno8303: {dhcp4: true}
      eno8403: {dhcp4: true}
    phiên bản: 2
  proxy: http://mirrors.aliyun.com/ubuntu
  ssh:
    allow-pw: true
    khóa ủy quyền: []
    máy chủ cài đặt: đúng
  kho:
    sâu bọ:
      sắp xếp lại_uefi: Sai
    cấu hình:
    - {ptable: gpt, đường dẫn: /dev/sda, wipe: superblock-recursive,serve: false, name: '', grub_device: false,
      gõ: đĩa, id: đĩa-sda}
    - {thiết bị: đĩa-sda, kích thước: 536870912, xóa: siêu khối, cờ: khởi động, số: 1,
      bảo tồn: sai, grub_device: đúng, loại: phân vùng, id: phân vùng-2}
    - {fstype: fat32, ổ đĩa: phân vùng-2, bảo toàn: sai, loại: định dạng, id: định dạng-2}
    - {thiết bị: đĩa-sda, kích thước: -1, xóa: siêu khối, cờ: '', số: 2,
      bảo toàn: sai, grub_device: sai, gõ: phân vùng, id: phân vùng-3}
    - {fstype: xfs, ổ đĩa: phân vùng-3, bảo toàn: sai, loại: định dạng, id: định dạng-3}
    - {path: /, device: format-3, type: mount, id: mount-3}
    - {đường dẫn: /boot/efi, thiết bị: format-2, loại: mount, id: mount-2}
  cập nhật: bảo mật
  gói:
  - linux-chung
  - công cụ mạng
  lệnh muộn:
  - curtin trong mục tiêu --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh
  - curtin trong mục tiêu --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/network.sh
  - curtin trong mục tiêu --target=/target -- /usr/bin/bash /root/ubuntu_init.sh
  #- curtin in-target --target=/target -- sed -i 's/#PermitRootLogin cấm-mật khẩu/PermitRootLogin yes/' /etc/ssh/sshd_config && systemctl restart sshd
  #- curtin trong mục tiêu --target=/target -- systemctl dừng ufw.service && systemctl vô hiệu hóa ufw.service
  #- curtin in-target --target=/target -- echo -e "NTP=ntp1.aliyun.com\nFallbackNTP=ntp.ubuntu.com" >> /etc/systemd/timesyncd.conf && systemctl khởi động lại systemd-timesyncd
  phiên bản 1

Ubuntu_init.sh

#!/bin/bash
sed -i 's/#PermitRootLogin cấm mật khẩu/PermitRootLogin yes/' /etc/ssh/sshd_config

systemctl khởi động lại sshd

systemctl dừng ufw.service
systemctl vô hiệu hóa ufw.service
# 
echo -e "NTP=ntp1.aliyun.com\nFallbackNTP=ntp.ubuntu.com" >> /etc/systemd/timesyncd.conf
systemctl khởi động lại systemd-timesyncd
# 
con mèo >> /etc/security/limits.conf << EOF
* nofile mềm 655350
* ổ cứng 655350
* mềm nproc 655350
* nproc cứng 655350
phần mềm root nofile 655350
root cứng nofile 655350
phần mềm root nproc 655350
root cứng nproc 655350
EOF
#######################################
cp /etc/sysctl.conf /etc/sysctl.conf.bak
con mèo > /etc/sysctl.conf << EOF
vm.swappiness = 0
hạt nhân.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

Vấn đề của tôi

Khi tôi chạy cài đặt tự động pxe trên Dell R750 hoặc các máy chủ dịch vụ UEFI đang mở khác. tftp, dhcpd, httpd đều được. nhưng khi máy chủ thực thi "lệnh muộn" như quên đi hoặc Xoăn rồi báo lỗi. các lệnh bash khác có thể thực thi không có lỗi, như tiếng vang ,sed,dịch vụ bắt đầu systemctl và như thế.

khi cài đặt tự động báo lỗi thì báo lỗi và hỏng hệ thống cài đặt này. tôi sử dụng quên đi có thể tải xuống tệp bash từ máy chủ httpd của tôi và thực thi.

hình ảnh cho điều này: ảnh lỗi

Nếu bạn mở hình báo lỗi chậm, đây là văn bản mô tả lỗi:

bắt đầu: subiquity/Late/run/command_0: curtin in-target --target=/target -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh
bắt đầu: tính phổ biến/Meta/status_GET
kết thúc: subiquity/Late/run/command_0: Command '['system-cat', '--level-prefix=false', '--identifier=subiquity_log.3140', 'sh', 'c', 'curtin in -mục tiêu --mục tiêu=/mục tiêu --/usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh']' trả về trạng thái thoát khác không 8.ip a 

nhật ký httpd

10.10.11.94 - - [13/Dec/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/Dec/2021:15:59:01 +0800] "GET /tftp/ubuntu-20.04.3-live-server-amd64.iso HTTP/1.1" 200 1261371392 "-" "Cloud- Init/21.2-3-g899bfaa9-0ubuntu2~20.04.1"
10.10.11.94 - - [13/Dec/2021:15:59:13 +0800] "GET /tftp/ubuntu-20.04.3-live-server-amd64.iso HTTP/1.1" 200 1261371392 "-" "Cloud- Init/21.2-3-g899bfaa9-0ubuntu2~20.04.1"
10.10.11.94 - - [13/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/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/Dec/2021:15:59:35 +0800] "GET /tftp/vendor-data HTTP/1.1" 404 214 "-" "Cloud-Init/21.2-3-g899bfaa9-0ubuntu2~ 20.04.1"

Tôi thực hiện thủ công mà không gặp lỗi.


Nếu có ai biết cách khắc phục sự cố này hoặc gặp sự cố tương tự như sự cố của tôi, vui lòng gửi tin nhắn cho tôi, cảm ơn.

nếu tôi không diễn đạt rõ ràng, bạn có thể chỉ ra.

muru avatar
lá cờ us
Xin vui lòng không gửi hình ảnh của văn bản. Sao chép văn bản ở đây và sử dụng định dạng mã. Có vẻ như thông báo "trạng thái thoát 8", mà đối với [`wget`](https://manpages.ubuntu.com/manpages/jammy/en/man1/wget.1.html) là "8 Máy chủ đã phát sinh lỗi phản ứng."
bowfgc avatar
lá cờ ps
thx, tôi cập nhật văn bản mô tả. nếu máy chủ httpd không phản hồi, tại sao tôi có thể sử dụng tải xuống `wget` theo cách thủ công mà không gặp lỗi.@muru
muru avatar
lá cờ us
Cảm ơn. Bạn có quyền truy cập vào nhật ký máy chủ để xem điều gì có thể xảy ra không? Bạn gặp lỗi gì khi sử dụng curl?
bowfgc avatar
lá cờ ps
vâng, tôi kiểm tra nhật ký httpd của mình, không có gì, chỉ ghi lại một số yêu cầu, NHẬN `ubuntu-20.04.3.iso`, `meta-data`,`user-data`, tôi đăng mục nhật ký trong bài báo.
Điểm:0
lá cờ jp

Vấn đề của bạn có thể là do Ủy quyền cấu hình

  proxy: http://mirrors.aliyun.com/ubuntu

Tôi nhận thấy nếu bạn chỉ định proxy thì tất cả lưu lượng truy cập web sẽ sử dụng proxy đó. Các quên đi cố gắng tải xuống tập lệnh của bạn đang được gửi qua proxy và không thành công.

Một trong những cách mà Ủy quyền được sử dụng là các biến môi trường http Proxyhttps_proxy sẽ được đặt thành của bạn Ủy quyền giá trị trong môi trường trình cài đặt. Khi thực hiện các yêu cầu web quên đi sử dụng các biến môi trường này để xác định proxy. Dưới đây là một số dòng lệnh đơn giản mà bạn có thể thử trong vỏ môi trường trình cài đặt (hoặc thực sự là bất kỳ hệ thống Linux nào) để xác minh.

Điều này sẽ hoạt động vì không có proxy nào được đặt.

http_proxy= wget http://10.10.11.245/tftp/ubuntu_init.sh

Điều này sẽ báo lỗi và thoát với mã trả về của 8 như nhật ký của bạn hiển thị.

http_proxy=http://mirrors.aliyun.com/ubuntu wget http://10.10.11.245/tftp/ubuntu_init.sh
tiếng vang $?

Tùy chọn

Đây là một vài cách có sẵn để giải quyết vấn đề này

  • không cấu hình một Ủy quyền.
  • Early_commands dường như không bị ảnh hưởng bởi Ủy quyền, vì vậy điều này hoạt động để tải xuống tập lệnh.
  lệnh sớm:
    - /usr/bin/wget -P /run/ http://10.10.11.245/tftp/ubuntu_init.sh
  • bỏ đặt biến môi trường có liên quan trong lệnh muộn. Điều này sẽ phải được thực hiện cho mỗi lệnh.
  lệnh muộn:
    - http_proxy= curtin trong mục tiêu --mục tiêu /mục tiêu -- /usr/bin/wget -P /root/ http://10.10.11.245/tftp/ubuntu_init.sh

ghi chú

Tôi đã thử nghiệm bằng Ubuntu 20.04.3 trình cài đặt (tính phổ biến 21.08.2)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.