在 FreeBSD 建立 RAID 5

參考文章:
FreeBSD 9.1 Программный RAID5 | Seclab
OS:FreeBSD 10.3
HDD:
20G*1:FreeBSDSystem(/dev/da0)
20G *3 :RAID (/dev/da1,da2,da3)

1. 磁碟機代號
# sysctl kern.disks
kern.disks: da3 da2 da1 da0 cd0

2. 取得磁碟機相關資訊
# fdisk da1
******* Working on device /dev/da1 *******
parameters extracted from in-core disklabel are:
cylinders=2610 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won’t work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=2610 heads=255 sectors/track=63 (16065 blks/cyl)

fdisk: invalid fdisk partition table found
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 41929587 (20473 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 561/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>[@more@]3. 建立掛載目錄
# mkdir /storage

4. 建立 /etc/gvinum.conf 設定檔
# vim /etc/gvinum.conf
drive raid51 device /dev/da1
drive raid52 device /dev/da2
drive raid53 device /dev/da3
volume raid5
plex org raid5 256k
sd len 20473m drive raid51
sd len 20473m drive raid52
sd len 20473m drive raid53

5. 建立 RAID5
# gvinum create /etc/gvinum.conf

6. 格式化
# newfs -U /dev/gvinum/raid5
/dev/gvinum/raid5: 40946.0MB (83857408 sectors) block size 32768, fragment size 4096
using 66 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
super-block backups (for fsck_ffs -b #) at:
192, 1282432, 2564672, 3846912, 5129152, 6411392, 7693632, 8975872, 10258112, 11540352,
12822592, 14104832, 15387072, 16669312, 17951552, 19233792, 20516032, 21798272, 23080512,
24362752, 25644992, 26927232, 28209472, 29491712, 30773952, 32056192, 33338432, 34620672,
35902912, 37185152, 38467392, 39749632, 41031872, 42314112, 43596352, 44878592, 46160832,
47443072, 48725312, 50007552, 51289792, 52572032, 53854272, 55136512, 56418752, 57700992,
58983232, 60265472, 61547712, 62829952, 64112192, 65394432, 66676672, 67958912, 69241152,
70523392, 71805632, 73087872, 74370112, 75652352, 76934592, 78216832, 79499072, 80781312,
82063552, 83345792

7. 掛載
# mount /dev/gvinum/raid5 /storage
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0p2 18G 2.8G 14G 17% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/gvinum/raid5 39G 8.0K 36G 0% /storage

8. 修改 /etc/fstab
# echo /dev/gvinum/raid5 /storage ufs rw 2 2 >> /etc/fstab

9. 開機便啟動 GVinum 服務
修改 /boot/loader.conf 設定檔
# vim /boot/loader.conf
加入下面一行
geom_vinum_load=”YES”

# echo geom_vinum_load=”YES” >> /boot/loader.conf

10. 重新啟動電腦
# reboot

11. RAID5 系統狀態
# gvinum l
3 drives:
D raid51 State: up /dev/da1 A: 6/20479 MB (0%)
D raid52 State: up /dev/da2 A: 6/20479 MB (0%)
D raid53 State: up /dev/da3 A: 6/20479 MB (0%)

1 volume:
V raid5 State: up Plexes: 1 Size: 39 GB

1 plex:
P raid5.p0 R5 State: up Subdisks: 3 Size: 39 GB

3 subdisks:
S raid5.p0.s0 State: up D: raid51 Size: 19 GB
S raid5.p0.s1 State: up D: raid52 Size: 19 GB
S raid5.p0.s2 State: up D: raid53 Size: 19 GB

在 FreeBSD 建立 RAID 0

參考文件:
不自量力 の Weithenn: Geom Vinum-軟體 RAID
18.2. RAID0 – 分散連結(striping)
OS:FreeBSD 10.3
HDD:
20G*1:FreeBSDSystem(/dev/da0)
20G *3 :RAID (/dev/da1,da2,da3)

1. 載入 geom_stripe.ko Kernel Module
# kldload geom_stripe.ko

# gstripe load

2. 查看系統目前載入之核心模組
# kldstat
Id Refs Address            Size     Name
 1    6 0xffffffff80200000 17bc680  kernel
 2    1 0xffffffff81a11000 2ba8     uhid.ko
 3    1 0xffffffff81a14000 46d7     geom_stripe.ko[@more@]3. 產生 RAID0 Gvinum Plex
# gstripe label -v myraid0 /dev/da1 /dev/da2 /dev/da3
Metadata value stored on /dev/da1.
Metadata value stored on /dev/da2.
Metadata value stored on /dev/da3.
Done.

4. 修改串連後的 HDD 為 GVinum volume
# bsdlabel -wB /dev/stripe/myraid0

5. 初始化 Gvinum 分割區
# newfs -U /dev/stripe/myraid0a
/dev/stripe/myraid0a: 61439.8MB (125828720 sectors) block size 32768, fragment size 4096
        using 99 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
        with soft updates
super-block backups (for fsck_ffs -b #) at:
 192, 1282432, 2564672, 3846912, 5129152, 6411392, 7693632, 8975872, 10258112, 11540352, 12822592,
 14104832, 15387072, 16669312, 17951552, 19233792, 20516032, 21798272, 23080512, 24362752, 25644992,
 26927232, 28209472, 29491712, 30773952, 32056192, 33338432, 34620672, 35902912, 37185152, 38467392,
 39749632, 41031872, 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792,
 52572032, 53854272, 55136512, 56418752, 57700992, 58983232, 60265472, 61547712, 62829952, 64112192,
 65394432, 66676672, 67958912, 69241152, 70523392, 71805632, 73087872, 74370112, 75652352, 76934592,
 78216832, 79499072, 80781312, 82063552, 83345792, 84628032, 85910272, 87192512, 88474752, 89756992,
 91039232, 92321472, 93603712, 94885952, 96168192, 97450432, 98732672, 100014912, 101297152, 102579392,
 103861632, 105143872, 106426112, 107708352, 108990592, 110272832, 111555072, 112837312, 114119552,
 115401792, 116684032, 117966272, 119248512, 120530752, 121812992, 123095232, 124377472, 125659712

6. 掛載 Gvinum 分割區
# mount /dev/stripe/myraid0a /mnt

7. 查看磁碟機狀況
# df -h
Filesystem              Size    Used   Avail Capacity  Mounted on
/dev/da0p2               18G    2.8G     14G    17%    /
devfs                   1.0K    1.0K      0B   100%    /dev
/dev/stripe/myraid0a     58G    8.0K     53G     0%    /mnt

8. 修改 /etc/fstab
# vim /etc/fstab
加入下面一行
/dev/stripe/myraid0a     /mnt            ufs     rw      2       2

9. 開機便啟動 GVinum 服務
修改 /boot/loader.conf 設定檔
# vim /boot/loader.conf
加入下面一行
geom_stripe_load=”YES”

10. 查看所建立 Software RAID 狀態
# gstripe status
          Name  Status  Components
stripe/myraid0      UP  da1
                        da2
                        da3

11. 查看 RAID HDD 資訊
# gstripe list
Geom name: myraid0
State: UP
Status: Total=3, Online=3
Type: AUTOMATIC
Stripesize: 65536
ID: 1132737782
Providers:
1. Name: stripe/myraid0
   Mediasize: 64424312832 (60G)
   Sectorsize: 512
   Stripesize: 65536
   Stripeoffset: 0
   Mode: r1w1e2
Consumers:
1. Name: da1
   Mediasize: 21474836480 (20G)
   Sectorsize: 512
   Mode: r1w1e3
   Number: 0
2. Name: da2
   Mediasize: 21474836480 (20G)
   Sectorsize: 512
   Mode: r1w1e3
   Number: 1
3. Name: da3
   Mediasize: 21474836480 (20G)
   Sectorsize: 512
   Mode: r1w1e3
   Number: 2