fc2ブログ

NEXT | PAGE-SELECT | PREV

【Linux小技】 GNU parted と RedHat GFSを使ったファイルシステム構築


このエントリーをはてなブックマークに追加



今回の目的は、CentOS5.1でGNU partedでパーティションを切ったあと、64bitファイルシステムのGFSをローカルでmkfsしてGFSのファイルシステムを作成します。レッドハット 曰く、RedHat Linuxでサポートするローカルの64bitファイルシステムはGFS(RedHatGFS)だけらしいですので。

そのため、RedHat Inc.がRedHat EL4以降で標準サポートするファイルシステムの中で、8TB以上のボリュームを利用するにはGFSしかないようです(正確に言えば、ext3はx86_64で8TB、IA64で16TBまでOKらしいです。確かめたことはないけど)
(追記:redhat のページに各バージョン、ファイルシステム毎の制限を比較したページがあります。
http://www.redhat.com/rhel/compare/ )

あとGFSはクラスタファイルシステムと思われがちですが、ローカルファイルシステムとして利用しても全然OKです

また、2TB以上のパーティションを作成するには、fdiskが対応していません。別途GNU partedを利用する必要がありますので、ついでに書いておきます。

カテゴリ【知ったか考察―Linux小技】




GNU  partedでのパーティション設定のあと、mkfs.gfs2でGFSファイルシステムを作ります。
HDDは使いたくなかったので、外付けの256MB USBメモリを使用しました
CentOS5.1では、GFS関連のコマンドは通常インストールで設定されないため、別途CDからGFSのrpm(CentOS5.1なら:gfs-utils-0.1.12-1.el5.x86_64.rpm)をインストールする必要があります。

	
#---------------------------------------------------------------
# GFS toolのインストール
#---------------------------------------------------------------
[root@server01 ~]# rpm -ivh /media/cdrom/ClusterStorage/\
gfs-utils-0.1.12-1.el5.x86_64.rpm

#---------------------------------------------------------------
# GNU partedによるパーティション設定
#---------------------------------------------------------------
[root@server01 ~]# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

#---------------------------------------------------------------
(parted) print

Model: USB NAND FLASH DISK (scsi)
Disk /dev/sdb: 262MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      15.9kB  262MB  262MB  primary  fat32        boot

(parted) help
  check NUMBER                             do a simple check on the file system
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another partition
  help [COMMAND]                           prints general help, or help on
        COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition
        table)
  mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on
        partititon NUMBER
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system
  move NUMBER START END                    move partition NUMBER
  name NUMBER NAME                         name partition NUMBER as NAME
  print [free|NUMBER|all]                  display the partition table, a
        partition, or all devices
  quit                                     exit program
  rescue START END                         rescue a lost partition near START
        and END
  resize NUMBER START END                  resize partition NUMBER and its file
        system
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition
        NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  displays the current version of GNU
        Parted and copyright information

(parted) rm 1
(parted) print

Model: USB NAND FLASH DISK (scsi)
Disk /dev/sdb: 262MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End  Size  Type  File system  Flags

(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
New disk label type?  [msdos]? gpt

(parted) print
Model: USB NAND FLASH DISK (scsi)
Disk /dev/sdb: 262MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

#---------------------------------------------------------------
(parted) mkpart primary
File system type?  [ext2]? gfs
File system type?  [ext2]? ext3
Start?
Start? 0
End?
End? 262MB


(parted) print
Model: USB NAND FLASH DISK (scsi)
Disk /dev/sdb: 262MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End    Size   File system  Name     Flags
 1      17.4kB  262MB  262MB               primary

(parted) name 1 256MB_USB
(parted) help
  check NUMBER                             do a simple check on the file system
  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER   copy file system to another partition
  help [COMMAND]                           prints general help, or help on
        COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition
        table)
  mkfs NUMBER FS-TYPE                      make a FS-TYPE file system on
        partititon NUMBER
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system
  move NUMBER START END                    move partition NUMBER
  name NUMBER NAME                         name partition NUMBER as NAME
  print [free|NUMBER|all]                  display the partition table, a
        partition, or all devices
  quit                                     exit program
  rescue START END                         rescue a lost partition near START
        and END
  resize NUMBER START END                  resize partition NUMBER and its file
        system
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition
        NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  displays the current version of GNU
        Parted and copyright information

(parted) p
Model: USB NAND FLASH DISK (scsi)
Disk /dev/sdb: 262MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End    Size   File system  Name       Flags
 1      17.4kB  262MB  262MB               256MB_USB

(parted) quit

#---------------------------------------------------------------
# GFS ファイルシステムの構築
#=--------------------------------------------------------------

[root@server01 ~]#
[root@server01 ~]# mkfs -t gfs2 /dev/sdb1
This will destroy any data on /dev/sdb1.

Are you sure you want to proceed? [y/n] y

Device:                    /dev/sdb1
Blocksize:                 4096
Device Size                0.24 GB (63991 blocks)
Filesystem Size:           0.24 GB (63989 blocks)
Journals:                  1
Resource Groups:           1
Locking Protocol:          "lock_nolock"
Lock Table:                ""

[root@server01 ~]# mkdir /mnt/usb
[root@server01 ~]# mount /dev/sdb1 /mnt/usb/
[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       62G   19G   40G  33% /
/dev/sda1              99M   26M   69M  27% /boot
tmpfs                 7.9G     0  7.9G   0% /dev/shm
/dev/sdb1             250M  130M  121M  52% /mnt/usb

[root@server01 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt/usb type gfs2 (rw,localflocks,localcaching)


256MBのUSBディスクでは当然2TBもないので、64ビットファイルシステムのGFSを使うメリットがないですがまあ備忘録なので。
GFSのジャーナル領域が128MBありますが、mkfs時に-Jオプションを使用することでジャーナル領域の容量を指定できます。

参考までに、300GB x 10本のRAID5でファイルシステムを作ると下のように見えます。


[root@server01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       62G   19G   40G  33% /
/dev/sda1              99M   26M   69M  27% /boot
tmpfs                 7.9G     0  7.9G   0% /dev/shm
/dev/sdc1             2.7T  106M  2.6T   1% /home  


以上

カテゴリ【知ったか考察―Linux小技】



GFSといったら、普通Google File Systemですよね。
Googleを支える技術 ‾巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)Googleを支える技術 ‾巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)
西田 圭介


Amazonで詳しく見る
by G-Tools


このエントリーをはてなブックマークに追加





このカテゴリの最新記事一覧


| ―Linux | 01時30分 | comments:2 | trackbacks:0 | TOP↑

作れませんでした

はじめまして
こちらのblogを参考に、試してみたのですが
mkfs.gfs2: locktable error: missing colon in the locktable

ファイルシステムが作成できませんでした。

| u2 | 2008/11/26 20:20 | URL | ≫ EDIT

mkfs.gfs2

# mkfs.gfs2 -t hoge1 -p lock_nolock -j 32 /dev/sdb1
とするとどうでしょうか?
私も持っているCentOS5.2のマシンで同様なエラーが出ました。このエントリーを書いたときは大丈夫だったので、仕様が変わったかもしれません。

| ken | 2008/11/27 16:21 | URL |















非公開コメント

http://kenknown.blog42.fc2.com/tb.php/73-c2b01ae3

≪ NEXT | PAGE-SELECT | PREV ≫