宮崎悟氏のUbuntuでZFSを使ってみよう第3回 「ZFSで使用できるストレージプールを確認しよう(1)」
前回のおさらい
前回は100MBのファイルを使用して、zpoolを作成してみました。指摘されて気づいたのですが、100MBの領域なのに、zpoolでは80MB、zfsでは40MBとかなり少なくなっています。
これは、zpoolおよびzfsの管理領域として、ある程度大きい領域を使用するためです。実際には数TBのzpoolを使うことが殆どで、その場合どれほど増やしても200MB程度でした。今回はテストのため、小さい領域を作ったためこのような減少が起きたのです。興味深いですね。
さて、今回は、zpoolで、色々なボリュームが作成できることを説明したいと思います。
ストライプ
ストライプとは、いわゆるRAID0に辺りディスクに分散してファイルの読み書きを行うものです。ZFSでは正確にはストライプとは違うのですが、ストライプに近いことを行うことが出来ます。
# dd if=/dev/zero of=/tmp/disk1 bs=$((1024*1024)) count=1000
# dd if=/dev/zero of=/tmp/disk2 bs=$((1024*1024)) count=2000 # zpool create tank /tmp/disk1 /tmp/disk2 # zpool list tank NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 2.91G 273K 2.91G – 0% 0% 1.00x ONLINE – $ zpool status tank pool: tank state: ONLINE scan: none requested config:
NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 /tmp/disk2 ONLINE 0 0 0
errors: No known data errors |
ディスクサイズが変わっても結合できます。また、以下のように後からディスクを追加することも可能です。
# dd if=/dev/zero of=/tmp/disk3 bs=$((1024*1024)) count=1000 # zpool add tank /tmp/disk3 # zpool list tank NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 3.88G 124K 3.87G – 0% 0% 1.00x ONLINE – root@ubuntu-bionic:~# zpool status pool: rpool state: ONLINE scan: none requested config:NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 pci-0000:00:14.0-scsi-0:0:2:0-part1 ONLINE 0 0 0errors: No known data errors |
ミラー
RAID1も使用可能です。しかもトリプルミラー可能です。ミラーの場合、同じサイズのディスクでないといけません。
# zpool destroy tank # zpool create tank mirror /tmp/disk1 /tmp/disk3 # zpool list tank NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 992M 273K 992M – 0% 0% 1.00x ONLINE – # zpool status tank pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 /tmp/disk3 ONLINE 0 0 0errors: No known data errors# dd if=/dev/zero of=/tmp/disk4 bs=$((1024*1024)) count=1000 # zpool attach tank /tmp/disk1 /tmp/disk4 # zpool list tank NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 992M 178K 992M – 0% 0% 1.00x ONLINE – # zpool status tank pool: tank state: ONLINE scan: resilvered 82.5K in 0h0m with 0 errors on Tue Dec 4 14:01:49 2018 config:NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 /tmp/disk3 ONLINE 0 0 0 /tmp/disk4 ONLINE 0 0 0errors: No known data errors |
このように、通常の2面ミラーだけでなく、3面以上のミラーも可能で、しかも後から追加可能になります。
次回は、ストレージプールについて引き続き語りたいと思いますので、お楽しみにお願いします。
さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。
DHT OSS導入コンサルティングサービス
https://kusanagi.dht-jpn.co.jp/solutions/dht-oss-consulting/