ZFSストレージプールの作成(RAID10)

6本のDiskを使用して、ストライプトミラー構成のZFSストレージプールを作成した。
備忘録として手順を残す。

# gpart create -s gpt ada2
# gpart create -s gpt ada3
# gpart create -s gpt ada4
# gpart create -s gpt ada5
# gpart create -s gpt ada6
# gpart create -s gpt ada7
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool0 ada2
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool1 ada3
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool2 ada4
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool3 ada5
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool4 ada6
# gpart add -a 4k -s 2780g -t freebsd-zfs -l pool5 ada7
# gpart show ada2 ada3 ada4 ada5 ada6 ada7
=>        34  5860533101  ada2  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada3  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada4  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada5  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada6  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada7  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)
# gnop create -S 4096 ada2p1
# gnop create -S 4096 ada3p1
# gnop create -S 4096 ada4p1
# gnop create -S 4096 ada5p1
# gnop create -S 4096 ada6p1
# gnop create -S 4096 ada7p1
# gnop status
      Name  Status  Components
ada2p1.nop     N/A  ada2p1
ada3p1.nop     N/A  ada3p1
ada4p1.nop     N/A  ada4p1
ada5p1.nop     N/A  ada5p1
ada6p1.nop     N/A  ada6p1
ada7p1.nop     N/A  ada7p1
# zpool create tank mirror ada2p1.nop ada3p1.nop mirror ada4p1.nop ada5p1.nop mirror ada6p1.nop ada7p1.nop
# sudo zdb -C tank | grep ashift
                ashift: 12
                ashift: 12
                ashift: 12
# zpool export tank
# gnop destroy ada2p1.nop ada3p1.nop ada4p1.nop ada5p1.nop ada6p1.nop ada7p1.nop
# zpool import tank
# zdb -C tank | grep ashift
                ashift: 12
                ashift: 12
                ashift: 12
# zpool status
  pool: tank
 state: ONLINE
  scan: none requested
config:

        NAME                                            STATE     READ WRITE CKSUM
        tank                                            ONLINE       0     0     0
          mirror-0                                      ONLINE       0     0     0
            gptid/80ec5c44-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0
            gptid/850c536f-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0
          mirror-1                                      ONLINE       0     0     0
            gptid/88b70bea-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0
            gptid/8c21155f-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0
          mirror-2                                      ONLINE       0     0     0
            gptid/9023b7b9-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0
            gptid/938c95ce-7a5c-11e3-80f8-001517080211  ONLINE       0     0     0

以上。

AFT HDDでZFS

アライメントを意識してAFT HDDでZFSストレージプールを作成した。
備忘録として手順を残す。

# gpart create -s gpt ada8
ada8 created
# gpart create -s gpt ada9
ada9 created
# gpart add -a 4k -s 2980g -t freebsd-zfs ada8
# gpart add -a 4k -s 2980g -t freebsd-zfs ada9
# gpart show ada8 ada9
=>        34  5860533101  ada8  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)

=>        34  5860533101  ada9  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  5830082560     1  freebsd-zfs  (2.7T)
  5830082600    30450535        - free -  (14G)
# gnop create -S 4096 ada8p1
# gnop create -S 4096 ada9p1
# zpool create work ada7p1.nop ada8p1.nop
# zdb -C | grep ashift
                ashift: 12
                ashift: 12
# zpool export work
# gnop destroy ada7p1.nop ada8p1.nop
# zpool import work
# zdb -C work | grep ashift
                ashift: 12
                ashift: 12

以上。

GPT mirror でFreeBSD 9.2をインストール

いろいろあって、サーバ機のFreeBSDを再インストールすることになった。
備忘録として手順を残す。

ディスクのパーティショニング

# gpart create -s gpt ada0
# gpart add -a 4k -s 512k -t freebsd-boot -l boot0 ada0
# gpart add -a 4k -s 2g -t freebsd-ufs -l rootfs0 ada0
# gpart add -a 4k -s 8g -t freebsd-swap -l swap0 ada0
# gpart add -a 4k -s 4g -t freebsd-ufs -l varfs0 ada0
# gpart add -a 4k -s 2g -t freebsd-ufs -l tmpfs0 ada0
# gpart add -a 4k -s 440g -t freebsd-ufs -l usrfs0 ada0
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0

# gpart create -s gpt ada1
# gpart add -a 4k -s 512k -t freebsd-boot -l boot1 ada1
# gpart add -a 4k -s 2g -t freebsd-ufs -l rootfs1 ada1
# gpart add -a 4k -s 8g -t freebsd-swap -l swap1 ada1
# gpart add -a 4k -s 4g -t freebsd-ufs -l varfs1 ada1
# gpart add -a 4k -s 2g -t freebsd-ufs -l tmpfs1 ada1
# gpart add -a 4k -s 440g -t freebsd-ufs -l usrfs1 ada1
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1

# gpart show ada0 ada1
=>       34  976773101  ada0  GPT  (465G)
         34          6        - free -  (3.0k)
         40       1024     1  freebsd-boot  (512k)
       1064    4194304     2  freebsd-ufs  (2.0G)
    4195368   16777216     3  freebsd-swap  (8.0G)
   20972584    8388608     4  freebsd-ufs  (4.0G)
   29361192    4194304     5  freebsd-ufs  (2.0G)
   33555496  922746880     6  freebsd-ufs  (440G)
  956302376   20470759        - free -  (9.8G)

=>       34  976773101  ada1  GPT  (465G)
         34          6        - free -  (3.0k)
         40       1024     1  freebsd-boot  (512k)
       1064    4194304     2  freebsd-ufs  (2.0G)
    4195368   16777216     3  freebsd-swap  (8.0G)
   20972584    8388608     4  freebsd-ufs  (4.0G)
   29361192    4194304     5  freebsd-ufs  (2.0G)
   33555496  922746880     6  freebsd-ufs  (440G)
  956302376   20470759        - free -  (9.8G)
# gpart show -l ada0 ada1
=>       34  976773101  ada0  GPT  (465G)
         34          6        - free -  (3.0k)
         40       1024     1  boot0  (512k)
       1064    4194304     2  rootfs0  (2.0G)
    4195368   16777216     3  swap0  (8.0G)
   20972584    8388608     4  varfs0  (4.0G)
   29361192    4194304     5  tmpfs0  (2.0G)
   33555496  922746880     6  usrfs0  (440G)
  956302376   20470759        - free -  (9.8G)

=>       34  976773101  ada1  GPT  (465G)
         34          6        - free -  (3.0k)
         40       1024     1  boot1  (512k)
       1064    4194304     2  rootfs1  (2.0G)
    4195368   16777216     3  swap1  (8.0G)
   20972584    8388608     4  varfs1  (4.0G)
   29361192    4194304     5  tmpfs1  (2.0G)
   33555496  922746880     6  usrfs1  (440G)
  956302376   20470759        - free -  (9.8G)

# gmirror label boot /dev/gpt/boot0 /dev/gpt/boot1
# gmirror label swap /dev/gpt/rootfs0 /dev/gpt/rootfs1
# gmirror label rootfs /dev/gpt/rootfs0 /dev/gpt/rootfs1
# gmirror label swap /dev/gpt/swap0 /dev/gpt/swap1
# gmirror label varfs /dev/gpt/varfs0 /dev/gpt/varfs1
# gmirror label tmpfs /dev/gpt/tmpfs0 /dev/gpt/tmpfs1
# gmirror label tmpfs /dev/gpt/tmpfs0 /dev/gpt/tmpfs1
# kldload geom_mirror
# gmirror status
         Name    Status  Components
  mirror/boot  COMPLETE  ada0p1 (ACTIVE)
                         ada1p1 (ACTIVE)
mirror/rootfs  COMPLETE  ada0p2 (ACTIVE)
                         ada1p2 (ACTIVE)
  mirror/swap  COMPLETE  ada0p3 (ACTIVE)
                         ada1p3 (ACTIVE)
 mirror/varfs  COMPLETE  ada0p4 (ACTIVE)
                         ada1p4 (ACTIVE)
 mirror/tmpfs  COMPLETE  ada0p5 (ACTIVE)
                         ada1p5 (ACTIVE)
 mirror/usrfs  COMPLETE  ada0p6 (ACTIVE)
                         ada1p6 (ACTIVE)

# newfs -U -L rootfs /dev/mirror/rootfs
# newfs -U -L varfs /dev/mirror/varfs
# newfs -U -L tmpfs /dev/mirror/tmpfs
# newfs -U -L usrfs /dev/mirror/usrfs
# mount /dev/mirror/rootfs /mnt
# mkdir /mnt/var /mnt/tmp /mnt/usr
# mount /dev/mirror/varfs /mnt/var
# mount /dev/mirror/tmpfs /mnt/tmp
# mount /dev/mirror/usrfs /mnt/usr

# vi /boot/bsdinstall_etc/fstab
# cat /boot/bsdinstall_etc/fstab
#Device                 Mountpoint      FSType  Option  Dump    Pass#
/dev/mirror/swap        none            swap    sw      0       0
/dev/mirror/rootfs      /               ufs     rw      1       1
/dev/mirror/varfs       /var            ufs     rw      2       2
/dev/mirror/tmpfs       /tmp            ufs     rw      2       2
/dev/mirror/usrfs       /usr            ufs     rw      2       2

# exit

インストール後の仕上げ

# vi /boot/loader.conf
# cat /boot/loader.conf
geom_mirror_load="YES"

# exit

以上。