gconcat しかないのか
CentOS なんか使ってると、LVM 、ボリュームマネージャみたいなのがあって
インストール時に、2つのディスクを 1つに扱ったりします。
FreeBSD だと、どうすればいいんだろうということで探してみたところ、gconcat (geom concat)というのがありました。
FreeBSD のインストーラである sysinstall をつかって、gconcat を使おうとしたところ
Fixit モードに入って、gconcat をロードして、論理スライスを作成してインストールするらしいですが、
いかんせん、sysinstall でのパーティション設定に、/dev/concat 以下が出てきたりしません。
仕方がないので、普通にインストール、dump 、ftp転送、手作業(FreeSBIEを使って)パーティション作成、restore
という手順で、1 TByte のディスクを 2 つ合わせました。
シリアル ATA なので、/dev/ad4 /dev/ad6 というデバイスで進めています。
ad4 に普通にインストール(minimum)
/ /usr /var /tmp を分ける(そんときの気分)
freesbie で起動
ファイルシステムをマウント
# fdisk -BI /dev/ad6
# bsdlabel -w /dev/ad6s1
# newfs -U -O2 /dev/ad6s1a# mount /dev/ad6s1a /mnt/ufs.1
# dump 0af - /dev/ad4s1a > /mnt/ufs.1/root.dump
# dump 0af - /dev/ad4s1d > /mnt/ufs.1/usr.dump
# dump 0af - /dev/ad4s1e > /mnt/ufs.1/var.dump
root.dump, usr.dump, var.dump を ftp で他のサーバにアップロード
# umount /mnt/ufs.1
gconcat の作成
# gconcat load -v
# gconcat label gc0 /dev/ad4 /dev/ad6
初期化
# fdisk -BI /dev/concat/gc0
# bsdlabel -w /dev/concat/gc0s1
ラベルの編集
/ 1G
/usr 8G
/var 2G
/tmp 1G
/opt 1.7T
# bsdlabel -e /dev/concat/gc0s1
中身はこんなカンジ
a: 2097152 4194304 4.2BSD 2048 16384 28552
b: 4194304 0 swap
c: 3907040067 0 unused 0 0 # "raw" part, don't edit
d: 16777216 6291456
e: 4194304 23068672
f: 2097152 27262976
g: 3877679939 29360128
それぞれを newfs
# newfs -U /dev/concat/gc0s1a
# newfs -U -O2 /dev/concat/gc0s1d
# newfs -U -O2 /dev/concat/gc0s1e
# newfs -U -O2 /dev/concat/gc0s1f
# newfs -U -O2 /dev/concat/gc0s1g
それぞれをマウント(gc0s1f は /tmp にする予定だから無視)
# mount /dev/concat/gc0s1a /mnt/ufs.1
# mount /dev/concat/gc0s1d /mnt/ufs.2
# mount /dev/concat/gc0s1e /mnt/ufs.3
# mount /dev/concat/gc0s1g /mnt/ufs.4
# cd /mnt/ufs.4
ftpサーバにアップロードした dumpファイルを持ってくる
# ls /mnt/ufs.4
root.dump usr.dump var.dump# cd /mnt/ufs.1
# restore -rf /mnt/ufs.4/root.dump# cd /mnt/ufs.2
# restore -rf /mnt/ufs.4/usr.dump# cd /mnt/ufs.3
# restore -rf /mnt/ufs.4/var.dump
fstab と loader.conf の編集
# vi /mnt/ufs.1/etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/concat/gc0s1b none swap sw 0 0
/dev/concat/gc0s1a / ufs rw 1 1
/dev/concat/gc0s1f /tmp ufs rw 2 2
/dev/concat/gc0s1d /usr ufs rw 2 2
/dev/concat/gc0s1e /var ufs rw 2 2
/dev/concat/gc0s1g /opt ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
# vi /mnt/ufs.1/boot/loader.conf
geom_concat_load="YES"
FreeSBIEを再起動して、CDROMを抜く