مقدمه
Hetzner دیگر سیستم نجات FreeBSD را ارائه نمی دهد. برای سرورهای اختصاصی با پشتیبانی کامل UEFI آموزشی وجود دارد که نحوه نصب FreeBSD با OpenZFS را از سیستم نجات لینوکس نشان می دهد.برای سرورهای قدیمیتر که فقط از حداقل پشتیبانی UEFI برخوردارند و به بوت BIOS قدیمی نیاز دارند، روش دیگری برای نصب FreeBSD وجود دارد.
پیش نیازها
- سرور اختصاصی Hetzner در حالت نجات لینوکس با دسترسی SSH کار بوت شده است.
- پارامترهای پیکربندی شبکه IPv6
مرحله 1 – بایگانی توزیع FreeBSD را دانلود کنید
base.txz و kernel.txz را از FreeBSD دانلود کنید:
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/base.txz
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/kernel.txz
مرحله 2 – کانتینر VM و نصب mfsBSD را دانلود کنید
ما از ماشین مجازی mfsBSD برای نصب FreeBSD روی درایوهای سیستم استفاده می کنیم.
دانلود تصویر ISO:
curl -O https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.iso
مرحله 3 – ماشین مجازی mfsBSD را از تصویر ISO راه اندازی کنید
دیسک های سرور به عنوان دستگاه های SCSI با استفاده از virtio به VM منتقل می شوند.
در دستور زیر، /dev/nvme0n1 و /dev/nvme1n1 را در صورت نیاز جایگزین کنید:
qemu-system-x86_64 -net nic -net user,hostfwd=tcp::1022-:22 -m 2048M -enable-kvm \
-cpu host,+nx -M pc -smp 2 -vga std -k en-us \
-cdrom ./mfsbsd-14.0-RELEASE-amd64.iso \
-device virtio-scsi-pci,id=scsi0 \
-drive file=/dev/nvme0n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n0 \
-device scsi-hd,drive=n0,bus=scsi0.0 \
-drive file=/dev/nvme1n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n1 \
-device scsi-hd,drive=n1,bus=scsi0.0 \
-boot once=d -vnc 127.0.0.1:0,password=on -monitor stdio
سرویس SSH داخل VM در پورت 1022 سیستم نجات در دسترس است.
یک رمز عبور VNC برای اجازه دسترسی به VNC تنظیم کنید (اختیاری)
برای اتصال به VNC باید پورت 5900 را با استفاده از SSH فوروارد کنید!
(qemu) set_password vnc mfsroot
(qemu)
مرحله 4 – فایل های توزیع را در VM کپی کنید
روی پوسته ریشه سیستم نجات لینوکس، دستور زیر را اجرا کنید:
scp -o Port=1022 base.txz kernel.txz root@localhost:
رمز عبور روت داخل ماشین مجازی mfsroot است.
مرحله 5 – وارد VM شوید
از SSH برای ورود به VM از پوسته ای در سیستم نجات استفاده کنید:
ssh -p 1022 root@localhost
رمز عبور mfsroot است.
بررسی کنید که درایوها قابل مشاهده باشند:
dmesg | grep QEMU
cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI device
da0: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI device
da1: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI device
مرحله 6 – FreeBSD را نصب کنید
FreeBSD را با اسکریپت zfsinstall نصب کنید:
zfsinstall -d /dev/da0 -d /dev/da1 -r mirror -p zroot -s 16G -u .
این کار، FreeBSD را بر روی ZFS pool zroot با استفاده از RAID-1 (آینه) روی هر دو دیسک با فضای مبادله 16 گیگابایتی روی هر دیسک نصب می کند.
سیستم فایل ریشه FreeBSD نصب شده بر روی /mnt نصب می شود. از آنجایی که ما نسخه فعلی FreeBSD را در VM اجرا می کنیم، اکنون می توانیم از chroot برای پیکربندی نصب جدید استفاده کنیم:
mount -t devfs devfs /mnt/dev
chroot /mnt
مرحله 7 – FreeBSD را پیکربندی کنید
هنگامی که از chroot برای اجرای یک پوسته در محیط FreeBSD نصب شده استفاده کردیم، میتوانیم پیکربندی را تکمیل کنیم.
- یک رمز عبور root تنظیم کنید
passwd
- ورود به ریشه با رمز عبور را فعال کنید
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
- نام میزبان را تنظیم کنید و sshd و اسکریپت autodhcpd جدید ایجاد شده ما را فعال کنید
فایل /etc/rc.conf را با محتوای زیر ایجاد کنید:
cat << EOF > /etc/rc.conf
zfs_enable="YES"
hostname="myhost.mydomain"
sshd_enable="YES"
EOF
مرحله 8 – تنظیمات شبکه را پیکربندی کنید
اگر سرور شما از کارت شبکه مبتنی بر RealTec استفاده می کند، نام رابط شما به احتمال زیاد re0 است. اگر سرور شما از کارت شبکه مبتنی بر اینتل استفاده می کند، نام آن em0 یا igb0 است. اگر شک دارید، از Google استفاده کنید تا بفهمید NIC شما در FreeBSD چه نامی دارد.
خطوط زیر را به فایل /etc/rc.conf اضافه کنید:
cat <<EOF >>/etc/rc.conf
ifconfig_em0="192.168.0.2/27"
static_routes="gateway default"
route_gateway="-host 192.168.0.1 -interface em0"
route_default="default 192.168.0.1"
ifconfig_em0_ipv6="inet6 2a01:4f8:0:0::2/64"
ipv6_defaultrouter="fe80::1%em0"
EOF
مرحله 9 – تمیز کردن
از محیط chroot خارج شده و فایل سیستم ها را جدا کنید
exit
sync
umount /mnt/dev
umount /mnt/var
umount /mnt/tmp
umount /mnt
می توانید ماشین مجازی qemu را خاموش کنید یا فرآیند qemu را خاتمه دهید.با تنظیم همه چیز، می توانید سرور را در توزیع FreeBSD راه اندازی مجدد کنید:
reboot
نتیجه
تبریک می گویم! شما اکنون یک نصب FreeBSD دارید که به پشتیبانی کامل UEFI نیاز ندارد.