Làm thế nào để thiết lập máy chủ linux để sử dụng không đầu?


7

Hãy xem xét một máy chủ không đầu như thế này: Một hộp x86 điển hình ở một địa điểm từ xa, mà bạn có thể khởi tạo từ xa với một hình ảnh chứng khoán - giả sử - Ubuntu. Sau khi được khởi tạo, bạn chỉ có thể đăng nhập qua ssh - hoặc đặt lại từ xa, tức là bạn không thể truy cập BIOS hoặc lời nhắc của trình quản lý khởi động (giả sử Grub 1).

Có lẽ một số loại KVM có sẵn, nhưng việc sử dụng KVM rất tốn kém và bạn phải đặt nó trên cơ sở hàng giờ.

Với kịch bản này, người ta có thể bị hoang tưởng về các vấn đề khởi động. Ví dụ:

  1. Điều gì xảy ra nếu nâng cấp kernel không thành công?
  2. Điều gì về một dấu nhắc fsck trong quá trình khởi động sớm? Có lẽ, ssh chưa có sẵn ...

Có những vấn đề khác để đề phòng?

Để nâng cấp kernel, tôi cấu hình grub (bản kế thừa) sao cho phần menu.lstmở đầu chứa

default saved
fallback 2  # counts from 0

và mục đầu tiên kết thúc bằng:

savedefault fallback

Mục grub đầu tiên là kernel đã được nâng cấp và thứ ba là một mục đã hoạt động. Xem thêm phần hướng dẫn sử dụng grub khi khởi động dự phòng .

Tôi đã thay đổi tập lệnh khởi động /etc/rc.local(trên hệ thống giống như Debian) thành hiệu ứng cài đặt mục nhập mặc định được đặt lại trong trường hợp khởi động thành công:

grub-set-default 0

Thiết lập grub này hoạt động, nhưng ví dụ trên Ubuntu, đây không phải là mặc định và người ta phải điều chỉnh thủ công menu.lstsau mỗi lần cập nhật kernel.

Tôi cung cấp

panic=60

như tham số kernel sao cho, ví dụ trong trường hợp root=tham số sai hoặc kernel bị hỏng, hệ thống sẽ tự động khởi động lại trong trường hợp có lỗi.

Về vấn đề fsck tôi không chắc cách tốt nhất là gì. Trên các hệ thống giống như Debian, bạn có thể đặt

FSCKFIX=yes

trong /etc/default/rcS, cho biết fsck tự động sửa chữa theo mặc định.

Nhưng nếu sửa chữa tự động thất bại, có lẽ tôi vẫn nhận được lời nhắc tôi không thể truy cập từ xa?

Ngoài ra, tôi chỉ có thể vô hiệu hóa kiểm tra fsck thông qua số 0 trong cột thứ sáu /etc/fstab- trong trường hợp có lỗi fs sau đó sẽ khởi tạo lại hệ thống và khôi phục các bản sao lưu - do đó tránh được tất cả các sự cố fsck?


Câu hỏi rất hay. Một máy chủ kim loại trần mà không có bàn điều khiển từ xa hoặc đắt tiền là một vấn đề lớn.
Rufo El Magufo

Câu trả lời:


6

Nghiêm túc mà nói, nếu nhà cung cấp của bạn không cung cấp hỗ trợ thủ công miễn phí (hoặc ít nhất là rẻ tiền) cho các trường hợp cực đoan, đã đến lúc chuyển đổi. Mặt khác, tôi nghĩ rằng bạn khá ổn với thiết lập của mình.

Khi hệ thống của bạn bị hỏng đến mức fsck không thể sửa nó, sẽ không có nhiều việc phải làm, ngoài việc cài đặt lại hoàn chỉnh. Tôi thực sự đã không thấy điều này xảy ra trừ khi có lỗi phần cứng nghiêm trọng.

Một điều cần lưu ý. Đối với một máy như thế này, hãy chọn phân phối ổn định (Debian, RHEL, SLES) và chỉ nâng cấp chắc chắn sau một khoảng thời gian dài phù hợp (phiên bản mới ổn định trong ít nhất 6 tháng).


3

Bạn nên tìm kiếm một nhà cung cấp dịch vụ lưu trữ, người sẽ cung cấp quyền truy cập nối tiếp ssh và định cấu hình cài đặt Linux của bạn để sử dụng cổng nối tiếp (có liên quan) làm bàn điều khiển (cách bạn thực hiện điều này phụ thuộc vào việc hệ thống sử dụng khởi tạo kiểu khởi động hoặc sysV ). Lưu ý rằng có sẵn BIOS sẽ nói chuyện với một cổng nối tiếp thay vì thiết bị màn hình tích hợp. Nhưng thông thường họ chỉ đến trên phần cứng đắt tiền.

Bạn cũng cần yêu cầu grub sử dụng cổng nối tiếp nếu bạn muốn điều khiển nó thông qua DTE.


2

Một cái gì đó mà bạn có thể xem xét là tạo một initrd tùy chỉnh sẽ bao gồm dropbear (tất nhiên là chạy trên một cổng khác), đủ logic để kết nối mạng của bạn và có lẽ là cách để tải một số công cụ khôi phục nếu cần. Dựa trên điều này, sau đó bạn có thể tạo một cấu hình kernel khôi phục, nó sẽ tải lên với khả năng của mạng và cho phép bạn ssh in, cho phép bạn quay lại hệ thống và thử phục hồi.


Vâng, nghe có vẻ như một dự án. Tôi thậm chí có thể tưởng tượng việc tạo ra một hệ thống Linux nhỏ luôn được khởi động trước và hoạt động như một trình quản lý khởi động (trong khi cung cấp ssh-access và screen) - sau đó nó có thể khởi động kernel thực thông qua các kỹ thuật như en.wikipedia.org/wiki/Kexec . Hoặc người ta có thể xem xét các máy chủ đi kèm với coreboot.org thay vì một số BIOS nhảm nhí từ những năm 80. Nhưng chắc chắn, tất cả điều này là không có gì bạn có thể thiết lập và duy trì một cách đáng tin cậy trong một vài giờ - tại thời điểm này với một bản phân phối ổn định.
maxschlepzig

Có vẻ như bạn sẽ có thể tiết kiệm một số nỗ lực bằng cách xem trang này
froztbyte
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.