LVMで2TiB以上のドライブを追加

4月1日から神奈川ケーブルテレビがTOKYO MXのパススルーを始めたらしく、ハイビジョンスパイラルが本格化したので、TS置き場に後から容易にディスクを追加できるLVMを導入した。 高収入を得られたら、こんなかんじのハードウェア構成でZFSなNAS導入する予定なので、今回は冗長化も何も無いその場しのぎ構成。 環境はDebain squeezeで追加するディスクはWD Red 3TB 1本。/dev/sdbとして認識されている。

1.LVMパーティションを作る

2TiB以上のパーティションをfdiskは作れないのでpartedコマンドを用いる。 同じ理由でMBRからGPTにしてる。

# apt-get install parted -y
# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes

(parted) mkpart primary 0 -0 #0 -0で最大容量指定
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore #単位書いて無いけとまちがっていないか?という旨の警告らしい

(parted) set 1 lvm on

(parted) print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  3001GB  3001GB               primary  lvm

(parted) quit
Information: You may need to update /etc/fstab.

2.PVを作る

LVMのPhysical Volumeを作成する。lvm関連のコマンドが入ってなかったので最初にインストールしてる。

# apt-get install lvm2 -y 
# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "2.73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               2.73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               **********************

3.VGを作る

Volume Groupを作成する。PEサイズはなんとなく16Mにしてみた。

# vgcreate -s 16m tateya /dev/sdb1
  Volume group "tateya" successfully created
# vgdisplay tateya
  --- Volume group ---
  VG Name               tateya
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               2.73 TiB
  PE Size               16.00 MiB
  Total PE              178849
  Alloc PE / Size       0 / 0
  Free  PE / Size       178849 / 2.73 TiB
  VG UUID               *****************

4.LVを作る

Logical Volumeを作成する。

# lvcreate -n tateya -l 100%FREE tateya #-l 100%FREEで最大容量になる
  Logical volume "tateya" created
# lvdisplay
  --- Logical volume ---
  LV Name                /dev/tateya/tateya
  VG Name                tateya
  LV UUID                ***************************
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                2.73 TiB
  Current LE             178849
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

5.ファイルシステムを作ってマウント

最後にファイルシステムを作ってマウントする。ファイルシステムはext4でマウントポイントは/

# mkfs.ext4 /dev/tateya/tateya
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
183148544 inodes, 732565504 blocks
36628275 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22357 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
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

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

# mkdir /mnt/tateya
# mount /dev/tateya/tateya /mnt/tateya/
# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/sda1             222G  683M  210G   1% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                  2.0G  128K  2.0G   1% /dev
tmpfs                 2.0G     0  2.0G   0% /dev/shm
/dev/mapper/tateya-tateya
                      2.7T  201M  2.6T   1% /mnt/tateya

あとは/etc/fstab編集する。 blkid /dev/tateya/tateyaでfstabに追加すべきUUIDが調べられる。