RAID構築備忘録

パーティショニング

[root@tndl ~]# parted /dev/sda
GNU Parted 3.4
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit s
(parted) mklabel gpt                                                      
(parted) mkpart primary 2048s -1s                                         
警告: 2048s から 31251759103s (2048 から 31251759103 セクタ)までのパーティションを指定されました。
可能な中で最も近いものは 2048s から 31251759070s (2048 から 31251759070 セクタ)になります。
それでもかまいませんか?
はい(Y)/Yes/いいえ(N)/No? Y                                               
(parted) set 1 raid on                                                    
(parted) p                                                                
モデル: ATA TOSHIBA MN08ACA1 (scsi)
ディスク /dev/sda: 31251759104s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始   終了          サイズ        ファイルシステム  名前     フラグ
 1    2048s  31251759070s  31251757023s                    primary  raid

(parted) quit                                                             
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

対象のHDD全てで同一の作業を行う

RAID構築

[root@tndl ~]# fdisk -l | grep 14.6T
/dev/sda1      2048 31251759070 31251757023  14.6T Linux RAID
/dev/sde1      2048 31251759070 31251757023  14.6T Linux RAID
/dev/sdf1      2048 31251759070 31251757023  14.6T Linux RAID
/dev/sdg1      2048 31251759070 31251757023  14.6T Linux RAID
/dev/sdh1      2048 31251759070 31251757023  14.6T Linux RAID
[root@tndl ~]# mdadm --create /dev/md1 --level=5 --raid-devices=5 /dev/sda1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@tndl ~]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md1 : active raid5 sdh1[5] sdg1[3] sdf1[2] sde1[1] sda1[0]
      62502983680 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUUU_]
      [>....................]  recovery =  0.0% (796476/15625745920) finish=1307.8min speed=199119K/sec
      bitmap: 117/117 pages [468KB], 65536KB chunk

md0 : active raid5 sdc1[2] sdb1[0] sdd1[1] sdi1[5]
      39065217024 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [UUU_U]
      bitmap: 4/73 pages [16KB], 65536KB chunk

unused devices: <none>
[root@tndl ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Wed Jul 14 00:14:21 2021
        Raid Level : raid5
        Array Size : 62502983680 (59607.49 GiB 64003.06 GB)
     Used Dev Size : 15625745920 (14901.87 GiB 16000.76 GB)
      Raid Devices : 5
     Total Devices : 5
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Wed Jul 14 00:15:38 2021
             State : clean, degraded, recovering 
    Active Devices : 4
   Working Devices : 5
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : bitmap

    Rebuild Status : 0% complete

              Name : tndl.net:1  (local to host tndl.net)
              UUID : 3e190ce0:282ec245:120ee84a:8e5f5f6f
            Events : 16

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       65        1      active sync   /dev/sde1
       2       8       81        2      active sync   /dev/sdf1
       3       8       97        3      active sync   /dev/sdg1
       5       8      113        4      spare rebuilding   /dev/sdh1

RAIDの構築完了を待つ。

ちなみに、--raid-devices=に1つ大きい値を設定して、missingをデバイスに追加することでデグレード状態で構築できるので、ポートが足りなかったり、RAID構築完了後にスペアのリビルドを行う場合には有用。

[root@tndl ~]# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=tndl.net:0 UUID=083fb38a:228fe012:f4b65553:a677b990
ARRAY /dev/md1 metadata=1.2 name=tndl.net:1 UUID=3e190ce0:282ec245:120ee84a:8e5f5f6f
[root@tndl ~]# cat /etc/mdadm.conf
MAILADDR root
ARRAY /dev/md0 metadata=1.2 name=tndl.net:0 UUID=083fb38a:228fe012:f4b65553:a677b990
ARRAY /dev/md1 metadata=1.2 name=tndl.net:1 UUID=3e190ce0:282ec245:120ee84a:8e5f5f6f

/etc/mdadm.conf に構築したRAIDアレイを追加する。

ファイルシステム構築

[root@tndl ~]# mkfs.ext4 /dev/md1
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 15625745920 4k blocks and 976609280 inodes
Filesystem UUID: 20591740-0836-4b4c-9d3f-7af129f658af
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 
        2560000000, 3855122432, 5804752896, 12800000000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

[root@tndl ~]# tune2fs -l /dev/md1
tune2fs 1.45.6 (20-Mar-2020)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          20591740-0836-4b4c-9d3f-7af129f658af
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              976609280
Block count:              15625745920
Reserved block count:     781287296
Free blocks:              15563290766
Free inodes:              976609269
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         2048
Inode blocks per group:   128
RAID stride:              128
RAID stripe width:        512
Flex block group size:    16
Filesystem created:       Thu Jul 15 10:58:04 2021
Last mount time:          n/a
Last write time:          Thu Jul 15 10:58:08 2021
Mount count:              0
Maximum mount count:      -1
Last checked:             Thu Jul 15 10:58:04 2021
Check interval:           0 (<none>)
Lifetime writes:          118 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      9273ed9f-9ec8-47de-a66b-6df0009cd0e1
Journal backup:           inode blocks
Checksum type:            crc32c
Checksum:                 0xb2edafd1

Filesystem features:で、64bitフラグが有効になってることを確認する。

[root@tndl ~]# cat /etc/fstab | grep 20591740-0836-4b4c-9d3f-7af129f658af
UUID=20591740-0836-4b4c-9d3f-7af129f658af /raid-new               ext4    defaults,nofail 0 2

/etc/fstab.conf に自動マウントの設定を追加する。

[root@tndl ~]# mount /raid-new
[root@tndl ~]# tmux
[root@tndl ~]# rsync -av /raid/ /raid-new

tmuxなどでターミナルが死なないようにして、新しいRAIDへのデータの移行をする。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください