• No : 271
  • 公開日時 : 2024/08/29 12:27
  • 更新日時 : 2024/10/09 16:15
  • 印刷

アタッチしたボリュームの事前準備(CentOS7系/パーティションあり)

カテゴリー : 

回答

アタッチしたボリュームをご利用いただくためにはOS内部での設定が必要です。
CentOS7系の場合で、仮想マシンにルートディスクとは別にデータディスク(/dev/sdb)を追加した場合を参考例としてご案内します。
 
【パーティションを切る場合の手順】
 

 
①パーティションの作成
 
1. ボリュームアタッチおよび仮想マシン再起動後に、仮想マシンにログインします。
※仮想マシン作成時に同時に作成されたデータディスクは、アタッチされた状態で起動しますので、再起動の必要はありません
 
2.アタッチされているボリュームのデバイス名を確認します。
# fdisk -l
 
ルートディスクのデバイス名が /dev/sda であることを確認します。
ディスク /dev/sda: 16.1 GB, 16106127360 バイト
ヘッド 255, セクタ 63, シリンダ 1958
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00055b22
 
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 1959 15727616 83 Linux
 
アタッチしたデータディスクのデバイス名が /dev/sdb であることを確認します。
ディスク /dev/sdb: 10.7 GB, 10737418240 バイト
ヘッド 255, セクタ 63, シリンダ 1305
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
 
3.ディスクの使用状況を確認します。
# df -h 
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 1.1G 13G 8% /
tmpfs 935M 0 935M 0% /dev/shm

/dev/sdbが使用されていないことを確認します。

 
 
4. パーティションを作成します。
# fdisk /dev/sdb
 
コマンドヘルプ表示
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
 
 
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-1305, 初期値 1):数値を入力(Enterキーで初期値となります)
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-1305, 初期値 1305):
数値を入力(Enterキーで初期値となります)
初期値 1305 を使います
 
領域テーブルの表示
コマンド (m でヘルプ): p
 
ディスク /dev/sdb: 10.7 GB, 10737418240 バイト
ヘッド 255, セクタ 63, シリンダ 1305
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x12f29b02
 
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1305 10482381 83 Linux
 
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
 
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
 
 
5.パーティションが作成されたことを確認します。

# fdisk -l

ディスク /dev/sda: 16.1 GB, 16106127360 バイト
ヘッド 255, セクタ 63, シリンダ 1958
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00055b22
 
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 1959 15727616 83 Linux
 
ディスク /dev/sdb: 10.7 GB, 10737418240 バイト
ヘッド 255, セクタ 63, シリンダ 1305
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x12f29b02
 
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1305 10482381 83 Linux  ←作成されたパーティション
 

 
②ファイルシステムのフォーマット
 
CentOS7系の場合:
1番目のパーティション(/dev/sdb1)をファイルシステム(xfs)で作成します。
# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=655296 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=2621184, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
 

 
③ディスクのマウント
 
手動でマウントします。
下記では例として、「extdisk1」ディレクトリを作成し、アタッチされているボリュームをマウントします。
 
1.マウントポジションを作成します。
# mkdir /extdisk1
 
2.現在のマウント状況を確認します。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 1.1G 13G 8% /
tmpfs 935M 0 935M 0% /dev/shm
 
3.手動でマウントを実行します。
# mount -t xfs -o defaults /dev/sdb1 /extdisk1/ (xfsの場合)
 
4.現在のマウント状況を確認します。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 1.1G 13G 8% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/sdb1 9.9G 151M 9.2G 2% /extdisk1 ←追加された
 

 
④OS再起動後に自動でmountさせる手順

手動でマウントさせた状態でOSを再起動するとマウントは解除されてしまいます。
再起動後にも、ボリュームを自動的にマウントさせるために「fstab」へデバイスを登録します。
 
4-1.blkid コマンドで /dev/sdb1 のUUIDをコピーします。
※CentOS7系の場合:fstabの記述はUUIDを指定します。
# blkid
/dev/sda1: UUID=""xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"" TYPE=""xfs""
/dev/sdb1: UUID=""yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"" TYPE=""xfs""
 
4-2.コピーした/dev/sdb1 のUUIDをfstabに記載します。
# vi /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /     xfs defaults 1 1
UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /extdisk1 xfs defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
 
 
fstabの記述に誤りがあると再起動時にエラーとなりOS起動しない場合があります。
以下の方法で確認ができます。
 
一度デバイスをアンマウントします。
 
/etc/fstabに記載のあるデバイスをマウントします。
# mount -a
 
fstabの記述に誤りがあると、以下のようなエラーが出ます。
この場合は、記述内容を確認してください。
# mount -a
mount: mount point /extdisk11 does not exist 4. 
パーティション切らない時のmountするデバイス名が間違っています。
 
再起動してマウントされていることを確認します。