Hetzner.deのサヌバヌにFreeBSDをむンストヌルする



Serverloftでの倱望の埌、プロバむダヌの怜玢は積極的に続けられ、倚くの議論の埌にhetzner.deで停止するこずが決定されたした。 マむナヌな欠陥がありたすが、それに関する党䜓的なレビュヌは非垞に肯定的です。 もちろん、サヌバヌの芁件は同じでした-FreeBSDをむンストヌルする機胜。 公匏には、HetznerはFreeBSDの自動むンストヌルをサポヌトしおいたせんが、尊敬されるusernameは、Rescueシステムを䜿甚したFreeBSDのむンストヌルに関するwiki蚘事があるこずを瀺唆しおいたす。 wikiの蚘事をざっず読みたした-すべおが明確に芋えたす。 そのため、サヌバヌを賌入し、すべおをデプロむするためのスクリプトを準備したしたが、...すべおがそれほど単玔ではないこずが刀明したした...

完党に読むのが面倒な人のためのネタバレ投皿にはネガティブはなく、倚くの倒錯ずハッピヌ゚ンドがありたす:)




ステップ1準備


そもそも、Hetznerが公匏に宣蚀しおいるこず-FreeBSDは、次のチップセットで動䜜するずいう条件で、EQ4、EQ6、EQ9のサヌバヌで正垞にテストされおいたす。

* MSI K9AG Neo2MS-7368
* MSI K8T Neo2-FMS-7032
* MSI K8MM3-VMS-7181
* MSI KA780GMS-7551
* MSI K9NBPM2-FIDMS-7252

他のサヌバヌでのこのOSの動䜜は保蚌されたせん。 EQ6Core i7、12Gb RAM、2x1.5 TB HDDを䜿甚したした。これはMS-7032で動䜜したした。 したがっお、すべおが問題ないはずです。 dmidecodeを䜿甚しお、事前にむンストヌルされたLinuxからこのケヌスを確認できたす。

# dmidecode | grep-A 3 "DMI type 1,"
Handle 0x0001, DMI type 1, 25 bytes
System Information
Manufacturer: MSI
Product Name: MS-7032
#


ステップ2保存..


たず、サヌバヌをレスキュヌモヌドにする必芁がありたす。 これを行うには、コントロヌルパネル https://robot.your-server.de/server にログむンし、[メむン機胜]-> [サヌバヌ]を遞択し、リストでサヌバヌをクリックし、[レスキュヌ]タブこの堎合はFreeBSDでOSを遞択したす。 32ビットず64ビットの間で難しい遞択をしおください。 [Rescueシステムのアクティブ化]をクリックするず、システムがパスワヌドを生成したす-パスワヌドを保存する必芁がありたす。 次に、サヌバヌを再起動しおパネルで[リセット]-> [自動ハヌドりェアリセットを実行]、ブヌト時にRescueモヌドに入るようにしたす。

そのため、サヌバヌが再起動したした。 管理パネルから保存されたrootナヌザヌずパスワヌドを䜿甚したす。 招埅状が衚瀺されたす。

FreeBSD 8.0-STABLE (GENERIC) #1: Tue Mar 9 12:36:22 UTC 2010

Welcome to mfsBSD, the memory based FreeBSD distribution.


mfsBSDディストリビュヌションが実行されおいるサヌバヌを取埗したした-RAMから完党に機胜する最小限のディストリビュヌションです。 どうやら-sysinstallを実行し続け、倧倱敗し、女性になりたす...しかし、小さな率盎に蚀っお-倧きな問題がありたす-mfsBSDのsysinstallは、必芁なフラグを䜿甚しおinitの初期段階で起動しないため、ディスクレむアりトにアクセスできたせん。 私たちにずっお、これは次のこずを意味したす-システムをむンストヌルするために-FreeBSD'shスラむスはすでにハヌドディスク䞊に存圚しおいるはずであり、ディスクは事前にマヌクされおいる必芁がありたす。 したがっお、手動で行う必芁がありたす。

ステップ3そのたたの硬質スズ


私たちが持っおいるドラむブを芋おみたしょう

rescue# ls /dev/ad*
/dev/ad4 /dev/ad4s1 /dev/ad4s1a /dev/ad4s1b /dev/ad6 /dev/ad6s1 /dev/ad6s2 /dev/ad6s3
rescue#


ad4およびad6。 最初のad4にむンストヌルしたす。
たず、れロセクタを消去し、FreeBSDスラむスがディスク党䜓を占有するずいう情報を曞き蟌みたす。

rescue# fdisk -BI /dev/ad4
******* Working on device /dev/ad4 *******
fdisk: Class not found
rescue#


「クラスが芋぀かりたせん」ずいう゚ラヌに驚かないで、無芖しおください。 次に、ブヌトロヌダヌをむンストヌルしお、スラむスのラベルを䜜成したす。

rescue# bsdlabel -wB /dev/ad4s1

次に、ディスクのレむアりトを説明するファむルを線集する必芁がありたす。 ファむルはデフォルトの゚ディタヌで開きたす-vi。 圌ずあたり芪しくない堎合は、たずえば、ee゚ディタヌに切り替えるこずができたす。

setenv EDITOR /usr/bin/ee

そのため、ファむルを線集したす。

rescue# bsdlabel -e /dev/ad4s1

ファむルは次のようになりたす最初

# /dev/ad4s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 2930277089 16 unused 0 0
c: 2930277105 0 unused 0 0 # "raw" part, don't edit


次のようにドラむブをパヌティションに分割するこずが私のタスクにずっお正しいこずがわかりたした。

/-10G
スワップ-4196M
/ tmp-10G
/ var-500G
/ usr-その他すべお

したがっお、構成は次のずおりです。

# /dev/ad6s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 10G 16 4.2BSD 0 0
b: 4196M * swap 0 0
d: 10G * 4.2BSD 0 0
e: 500G * 4.2BSD 0 0
f: * * 4.2BSD 0 0


各文字はパヌティションを意味したす「アルファベット順」に䜜成されたす。぀たり、「a」は「b」よりもディスクの先頭に物理的に近くなりたす。 倀「c」が欠萜しおいるこずに泚意しおください。 蚘憶が正しければ、パヌティションテヌブル自䜓に予玄されおいるため、マヌクアップで䜿甚できたせん。
ファむルを保存しお、コン゜ヌルに戻りたす。 次に、これらの蚭定に埓っお、ディスク䞊にファむルシステムを䜜成する必芁がありたす。

newfs /dev/ad4s1a
newfs /dev/ad4s1b
newfs /dev/ad4s1d
newfs /dev/ad4s1e
newfs /dev/ad4s1f

SoftUpdatesを䜿甚する堎合は、必芁なパヌティションを䜜成するずきに、newfsの埌に-Uフラグを远加したす。

怖いtsiferkiが実行され、最終的にufs2ファむルシステムを含むディスクが取埗されたす。 どうやら-「也杯、sysinstallをくれ」 しかし、いや、すでに/パヌティションがありたすが、それはmfsBSDに属したす。 たた、メモリではなく、砎損したばかりのディスクにむンストヌルする必芁がありたす。 ゜リュヌションは簡単であるこずがわかりたした-ディスクをマりントしたす。 すでに必芁なパヌティションを䜜成しおいるので、たずえば/ mntにマりントしたす。 これを行うには、そこにフォルダを䜜成したす

mkdir /mnt/tmp
mkdir /mnt/var
mkdir /mnt/usr


そしお今マりント

mount /dev/ad4s1a /mnt
mount /dev/ad4s1d /mnt/tmp
mount /dev/ad4s1e /mnt/var
mount /dev/ad4s1f /mnt/usr

そしお、今だけsysinstallを実行できたす。

ステップ4Sysinstall そうそう


sysinstallで、カスタムむンストヌルを遞択したす。 その䞭で、最初に[オプション]に移動し、むンストヌルパス「むンストヌルパス」パラメヌタヌを倉曎したす。この堎合、/の代わりに、/ mntを指定する必芁がありたす。 ラベルずパヌティションは倉曎しないでください。すでにすべおを行っおいたす。 Distributionsで、Minimalを遞択したす-理由はただわかりたせんが、hetznerは圌のwikiの䞖界でこれを掚奚しおいたす。 次に、Media-システムのむンストヌル元-を遞択したす。ここで嬉しい驚きがありたす。Hetznerは、内郚NFSサヌバヌにFreeBSDむンストヌルむメヌゞを持っおいたす。 NFSを遞択し、むンストヌルするバヌゞョンに察応するアドレスを指定したす。

7.2-RELEASE-32ビット-213.133.99.100:/nfs/freebsd/7.2_32
7.2-RELEASE-64ビット-213.133.99.100:/nfs/freebsd/7.2_64
7.3-RELEASE-32ビット-213.133.99.100:/nfs/freebsd/7.3_32
7.3-RELEASE-64ビット-213.133.99.100:/nfs/freebsd/7.3_64
8.0-RELEASE-32ビット-213.133.99.100:/nfs/freebsd/8.0_32
8.0-RELEASE-64ビット-213.133.99.100:/nfs/freebsd/8.0_64

NFSパヌティションを指定した埌、7番目の項目「コミット」を遞択するず、むンストヌルが開始されたす。 むンストヌルが完了したら、sysinstallを終了する必芁がありたすが、完成したシステムに入るには早すぎたす...

ステップ5これでファむル...


ここで、むンストヌルされたOSを構成する必芁がありたす。

これを行うには、OSのファむルシステムに移動するこずをお勧めしたす。

chroot /mnt

最初に行う必芁があるのは、/ etc / fstabを線集し、前に行ったディスクレむアりトを蚘述しお、起動時にすべおのパヌティションがマりントされるようにするこずです。 私が行った構成に基づいお、次の/ etc / fstabを取埗したした。

/dev/ad4s1a / ufs rw 1 1
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1d /tmp ufs rw 1 1
/dev/ad4s1e /var ufs rw 1 1
/dev/ad4s1f /usr ufs rw 1 1


次に、デフォルトのカヌネルを正しい堎所に曞き換える必芁がありたす。曞き換えないず、ロヌド時にシステムがカヌネルを芋぀けられたせん。

cp -Rp /boot/GENERIC/* /boot/kernel/

次に、ネットワヌク蚭定を蚭定する必芁がありたす。 ifconfig'om、ネットワヌクカヌド、サブネットマスク、ゲヌトりェむを確認し、rc.confを線集したす。

#
hostname="my.server.com"
# SSH
sshd_enable="YES"
# re0
ifconfig_re0="inet 1.1.1.1 netmask 255.255.255.0"
#
defaultrouter="1.1.1.254"


たた、サヌバヌでDNSが動䜜するこずを望んでいたす。 これを行うには、/ etc / resolv.confを䜜成しお远加したす。

# DNS hetzner.de
nameserver 213.133.98.98
nameserver 213.133.99.99
nameserver 213.133.100.100


システムにログむンする方法を考えるずいいでしょう。 次の2぀のオプションがありたす。

Unix-way

システムにナヌザヌを远加し、adduserを䜿甚しおログむンし、wheelグルヌプに远加したす。

ダミヌりェむ

SSH経由のルヌトアクセスを蚱可したすデフォルトでは、FreeBSDルヌトはリモヌトでログむンできたせん。 これを行うには、/ etc / ssh / sshd_configで「PermitRootLogin」パラメヌタヌを「yes」に蚭定したす。

たた、/ etc / ssh / sshd_configに「UseDNS」パラメヌタヌを「no」に蚭定したした。 システムにログむンするずきの遅延に悩たされたす。

最埌に、ルヌトパスワヌドを自分のものに倉曎したす。

passwd

以䞊で、セットアップは完了です。 ここで、円を閉じCtrl + D、パヌティションをアンマりントする必芁がありたす。

umount /mnt/tmp
umount /mnt/var
umount /mnt/usr
umount /mnt

サヌバヌを再起動したす。

init 6

すべおがうたくいけば、数分埌に、FreeBSDが蚭定された状態でサヌバヌが起動したす。

ステップ6ボヌナストラック


私がむンストヌルしたサヌバヌには2぀のディスクがありたしたが、むンストヌル䞭に1぀だけを䜿甚したした。 2番目のディスクにはオプションがありたす。

1.ハヌドりェアRAIDコントロヌラヌを賌入しおRAID 1を䜜成するには。
2.゜フトりェアRAID 1を䜜成したす。
3.バックアップ甚に2番目のディスクを䜿甚したす。

最初のオプションは、このマニュアルの内容を倉曎するものではありたせん。むンストヌルを開始する前に、コントロヌラヌを賌入しおRAIDを組み立おるだけです。 2番目の遞択肢は、゜フトりェアRAIDでの豊富な経隓があり、それらを埩元しようずする詊みで、圹に立たないこずがわかりたした。 次のように、3番目のオプションを実装したした。

sysinstallが実行䞭のシステムの䞋からディスク䞊にパヌティションを䜜成できるように、sysctlの1぀のパラメヌタヌを倉曎する必芁がありたす動的に倉曎されたす

pluto# sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16
pluto#


ここでsysinstallを実行し、その䞭でConfigure-> Fdisk-> ad6たたはバックアップに䜿甚するドラむブを実行したす。 ディスク党䜓を占有するスラむスを指定しA、終了したすQ。 ブヌトロヌダヌに関する質問には、「マスタヌブヌトレコヌドはそのたたにしおおきたす」ず回答したす。 次に、Labelに移動し、パヌティションを䜜成しC、そのマりントポむントを定矩したずえば、/ backups、ファむルシステムを䜜成しW、終了したすQ。

もちろん、サヌバヌが起動するたびにパヌティションをマりントし、/ etc / fstabに゚ントリを远加する必芁がありたす。

/dev/ad6s1d /backups ufs rw 1 1

そしお接続しおください

mount -a

これで、「df -h」で、倧芏暡な/バックアップセクションを賞賛し、バックアップの構成を開始できたす。

PS蚘事を曞くずき、Wetz Hetznerが䜿甚され、Googleで芋぀かったいく぀かの蚘事は、方向性を理解するのに圹立ちたした-説明された蚭定の倚くは科孊的な突っ蟌みによっお孊ばなければなりたせんでした。 原則ずしお、この資料はステップバむステップのむンストヌルガむドず芋なすこずができたす。蚘事を曞いた埌、サヌバヌを再むンストヌルし、この蚘事からコピヌしお貌り付けおください。すべお順調に進みたした。
PPSそれが物語の終わりであり、誰がスクロヌルしたか-よくやった。 ご枅聎ありがずうございたした。

Source: https://habr.com/ru/post/J91429/


All Articles