Top / Installmemo / Linux / storage

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

パーティション操作

parted

パーティションテーブルの保管方法はmsdos方式とgpt方式がある。2TB以上のディスクを扱う場合はgpt方式を採用する必要がある。

# parted /dev/sda print

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  107MB   107MB   primary  ext3         boot
 2      107MB   10.7GB  10.6GB  primary               lvm

Information: Don't forget to update /etc/fstab, if necessary.
  • パーティションテーブルの保管方法指定
    (parted) mklabel
    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のプロンプトから対話形式で作成する場合。
    (parted) mkpart
    Partition type?  primary/extended? primary
    File system type?  [ext2]? ext3
    Start? 0
    End? 1073MB
    コマンドプロンプトからpartedのオプションに指定して作成する場合。
    # parted /dev/sde mkpart primary ext3 0 1074MB
    Information: You may need to update /etc/fstab.

LVM

LVMの構成

  1. PVの作成
    # pvcreate /dev/sdc
     Physical volume "/dev/sdc" successfully created
  2. 利用可能なパーティション検索
    # pvscan
     /dev/cdrom: open failed: Read-only file system
     Attempt to close device '/dev/cdrom' which is not open.
     PV /dev/sda2   VG VolGroup00   lvm2 [9.88 GB / 0    free]
     PV /dev/sdb1   VG VolGroup00   lvm2 [9.97 GB / 0    free]
     PV /dev/sdc                    lvm2 [10.00 GB]
     Total: 3 [29.84 GB] / in use: 2 [19.84 GB] / in no VG: 1 [10.00 GB]
  3. VGの作成
    # vgcreate datavg /dev/sdc
     Volume group "datavg" successfully created
    -s num拡張サイズ単位-s 32m (32MB単位にする場合)
  4. LVの作成
    # lvcreate -i 3 -l 500 -n datalv datavg
     Using default stripesize 64.00 KB
     Rounding size (500 extents) up to stripe boundary size (501 extents)
     Logical volume "datalv" created
     
    # lvcreate -L 2g -n work datavg
     Logical volume "work" created
    n:LV名
    L:作成するLVのサイズ ex:2GBの場合,2g もしくは l:作成するLVのPP数
    i:分散させるPV数
    I:ストライプサイズ
    # ls -la /dev/datavg/work
    lrwxrwxrwx 1 root root 23 Mar  6 10:58 /dev/datavg/work -> 
     /dev/mapper/datavg-work
  5. ファイルシステムの作成
    # mkfs.ext3 /dev/mapper/datavg-work
  6. マウント
    # mkdir /work
    # mount /dev/mapper/datavg-work /work

LVの拡張

  1. LVの拡張
    # lvextend -L+100m /dev/datavg/work
     Extending logical volume work to 2.10 GB
     Logical volume work successfully resized
    L:追加するサイズ
  2. ファイルシステムの拡張
    各ファイルシステムの項を参照

VGへPVを追加

  1. 追加前のVG状態を確認
    # vgdisplay datavg
     --- Volume group ---
     VG Name               datavg
     System ID
     Format                lvm2
     Metadata Areas        1
     Metadata Sequence No  3
     VG Access             read/write
     VG Status             resizable
     MAX LV                0
     Cur LV                1
     Open LV               0
     Max PV                0
     Cur PV                1
     Act PV                1
     VG Size               10.00 GB
     PE Size               4.00 MB
     Total PE              2559
     Alloc PE / Size       537 / 2.10 GB
     Free  PE / Size       2022 / 7.90 GB
     VG UUID               tLGeOE-SSJV-feui-2pYz-npm5-C6TM-CMzwi1
  2. PVの追加
    # pvcreate /dev/sdd
     Physical volume "/dev/sdd" successfully created
    # vgextend datavg /dev/sdd
     Volume group "datavg" successfully extended
  3. 追加後のVG状態確認
    # vgdisplay datavg
     --- Volume group ---
     VG Name               datavg
     System ID
     Format                lvm2
     Metadata Areas        2
     Metadata Sequence No  4
     VG Access             read/write
     VG Status             resizable
     MAX LV                0
     Cur LV                1
     Open LV               0
     Max PV                0
     Cur PV                2
     Act PV                2
     VG Size               19.99 GB
     PE Size               4.00 MB
     Total PE              5118
     Alloc PE / Size       537 / 2.10 GB
     Free  PE / Size       4581 / 17.89 GB
     VG UUID               tLGeOE-SSJV-feui-2pYz-npm5-C6TM-CMzwi1

VGからPVの除去

VGにアサインされたPVを除去し他の用途に利用できるようにするケースを取り上げます。

  1. PVの状況確認
    # pvscan
      PV /dev/sdb1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sdc1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sdd1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sde1   VG datavg   lvm2 [1020.00 MB / 1020.00 MB free]
      PV /dev/sdf1   VG datavg   lvm2 [1020.00 MB / 1020.00 MB free]
      Total: 5 [4.98 GB] / in use: 5 [4.98 GB] / in no VG: 0 [0   ]
  2. PEの移動
    datavgから/dev/sdb1を除去する場合、/dev/sdb1はLVにアサイン済であるためPVを除去できません。他のPVへPEを移動します。
    # vgreduce datavg /dev/sdb1
      Physical volume "/dev/sdb1" still in use
    例えば、/dev/sdf1へ移動する場合は次のようになります。
    # pvmove /dev/sdb1 /dev/sdf1
      /dev/sdb1: Moved: 100.0%
    これで/dev/sdb1は空になります。
    # pvscan
      PV /dev/sdb1   VG datavg   lvm2 [1020.00 MB / 1020.00 MB free]
      PV /dev/sdc1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sdd1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sde1   VG datavg   lvm2 [1020.00 MB / 1020.00 MB free]
      PV /dev/sdf1   VG datavg   lvm2 [1020.00 MB / 352.00 MB free]
      Total: 5 [4.98 GB] / in use: 5 [4.98 GB] / in no VG: 0 [0   ]
  3. PVの除去
    datavgから/dev/sdv1を除去するには次のようになります。
    # vgreduce datavg /dev/sdb1
      Removed "/dev/sdb1" from volume group "datavg"
    これで/dev/sdb2は,どのVGにも所属していないことがわかります。
    # pvscan
      PV /dev/sdc1   VG datavg          lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sdd1   VG datavg          lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sde1   VG datavg          lvm2 [1020.00 MB / 1020.00 MB free]
      PV /dev/sdf1   VG datavg          lvm2 [1020.00 MB / 352.00 MB free]
      PV /dev/sdb1                      lvm2 [1024.00 MB]
      Total: 5 [4.98 GB] / in use: 4 [3.98 GB] / in no VG: 1 [1024.00 MB]
    /dev/sdb1をLVMとしても使用しない場合はpvremoveを実行します。
    # pvremove /dev/sdb1
      Labels on physical volume "/dev/sdb1" successfully wiped

LVMの移動

冗長構成のシステムなどLVMを他のサーバーに移動するなど、LVMに対する

  1. VGのexport
    • VGの無効化
      # vgchange -a n datavg
  2. VGのimport
    • PVの認識
      # pvscan
    • VGの有効化
      # vgchange -a y datavg

ファイルシステム

ext3

  • ファイルシステムの作成
    # mkfs.ext3 /dev/mapper/datavg-work
    mke2fs 1.39 (29-May-2006)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    262144 inodes, 524288 blocks
    26214 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=536870912
    16 block groups
    32768 blocks per group, 32768 fragments per group
    16384 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912
    
    Writing inode tables: done
    Creating journal (16384 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 34 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
  • ファイルシステムの拡張
    LVMなどでパーティションサイズを拡張した場合、resize2fsにてオンラインでファイルシステムの拡張が可能である。
    # resize2fs /dev/datavg/work
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/datavg/work is mounted on /work; on-line resizing required
    Performing an on-line resize of /dev/datavg/work to 549888 (4k) blocks.
    The filesystem on /dev/datavg/work is now 549888 blocks long.
  • fsckのタイミングを変更する(extファイルシステム)
    ext2/ext3ファイルシステムはマウント回数ないし前回のfsckからの日数に応じてマウント時にfsckが走る。このタイミングの確認方法と変更方法を述べる。
    • 確認方法
      # tune2fs -l /dev/sda1
      tune2fs 1.38 (30-Jun-2005)
      Filesystem volume name:   /tmp
      Last mounted on:          <not available>
      Filesystem UUID:          ec13809c-1224-40b2-9f8d-39fb409d2a8d
      Filesystem magic number:  0xEF53
      Filesystem revision #:    1 (dynamic)
      Filesystem features:      has_journal resize_inode filetype needs_recovery  sparse_super
      Default mount options:    (none)
      Filesystem state:         clean
      Errors behavior:          Continue
      Filesystem OS type:       Linux
      Inode count:              32000
      Block count:              127984
      Reserved block count:     6399
      Free blocks:              117992
      Free inodes:              31958
      First block:              1
      Block size:               1024
      Fragment size:            1024
      Reserved GDT blocks:      256
      Blocks per group:         8192
      Fragments per group:      8192
      Inodes per group:         2000
      Inode blocks per group:   250
      Filesystem created:       Sat Oct 18 08:25:54 2008
      Last mount time:          Sat Oct 18 12:48:35 2008
      Last write time:          Mon Oct 20 10:25:21 2008
      Mount count:              7
      Maximum mount count:      27
      Last checked:             Sat Oct 18 08:25:54 2008
      Check interval:           15552000 (6 months)
      Next check after:         Thu Apr 16 08:25:54 2009
      Reserved blocks uid:      0 (user root)
      Reserved blocks gid:      0 (group root)
      First inode:              11
      Inode size:               128
      Journal inode:            8
      Default directory hash:   tea
      Directory Hash Seed:      a6087dca-8022-4b9b-99af-25e1ad6ae886
      Journal backup:           inode blocks
      このうち、Mount Countが現在のマウント回数。Maximun mount countがfsckが実行されるマウント回数となる。
      Last Checkedは最後にfsckが実行された日付。Check Intervalはfsckを実行する間隔を示す。
  • 変更方法
    マウント回数によるfsckタイミング変更
    # tune2fs -c 2 /dev/sda1
    tune2fs 1.38 (30-Jun-2005)
    Setting maximal mount count to 2
    fsck実行間隔の変更 - d(day),m(month),y(year)で指定することが可能。
    [root@inasa03 root]# tune2fs -i 3d /dev/sda1
    tune2fs 1.38 (30-Jun-2005)
    Setting interval between checks to 259200 seconds
    http://blog.dc-d.jp/archives/63.html

jfs

jfs-utilsの導入が必要
http://jfs.sourceforge.net/

  • jfs-utils導入前提条件
    • Vine Linux 4.2
      e2fsprogs-libs
      e2fsprogs-devel
    • Other
      uuid-dev
  • jfs-utilsの導入
    # ./configure
    # make
    # make install
  • jfsの作成
    # mkfs.jfs /dev/hdb1
    mkfs.jfs version 1.1.13, 17-Jul-2008
    Warning!  All data on device /dev/hdb1 will be lost!
    
    Continue? (Y/N) Y
       \
    
    Format completed successfully.
    
    15727603 kilobytes total disk space.

ReiserFS


Counter: 3730, today: 1, yesterday: 1