ITメモ
CentOS / セントオーエス
基礎知識
CentOSとは
操作方法
「ショートカットキー」の一覧「端末(Terminal)」の操作方法「シェル」の使い方 / Shell「CentOS」を「再起動」させる方法「CentOS」のデータ復旧方法
設定 / Setting
「CentOS」を「インストール」する方法「CentOS」を「アップデート」する方法「CentOS」の「バージョン」を確認する方法「モニター解像度」の設定をする方法「CentOS」で「日本語」を入力する方法 「ホームディレクトリ」のディレクトリ名を「日本語・英語」に変換する方法「自動起動」を設定する方法 「ユーザー」の登録・削除をする方法「ユーザーグループ」の作成・設定をする方法「CentOS」で「管理者(rootユーザー)」になる方法「SELinux」を設定・解除する方法「hosts」ファイルでアクセス制限をする方法ログ「internal dummy connection」を記録させない設定方法
サーバー / Server
「SSHサーバー」を設定する方法「ファイルサーバー」を設定する方法「メールサーバー」を設定する方法「HTTPサーバー」を設定する方法「FTPサーバー」を設定する方法
システム / System
【System】「CentOS」に「USB」を接続する方法【System】「CentOS」に「内蔵ハードディスク」を「追加」する方法【System】「CentOS」の「内蔵ハードディスク」を「入れ替え」する方法【System】Linuxのファイルシステム【System】ファイル構成「systemctl」-Linux 用のシステム・サービスマネージャ「service」「chkconfig」 - サービス設定/procディレクトリxinetd / ザイネットディー 利用可能ディスクと「使用領域」「空き領域」を確認する方法
ログ / Log
ログファイル / Logログテキスト / Log Text





【CentOS】「CentOS」に「内蔵ハードディスク」を「追加」する方法

【CentOS】
「CentOS」に「内蔵ハードディスク」を「追加」する方法




「CentOS」に、
「内蔵ハードディスク」を「追加」する場合、
少し作業が必要。
「接続」「パーティション」「フォーマット」「マウント」
の順番で設定をしてからでないと、 「CentOS」の「内蔵ハードディスク」として使えない。



「内蔵ハードディスク」を「接続」する方法


Windowsとは違って、
「CentOS」の場合、
「内蔵ハードディスク」を追加したら、
「パーティション」「フォーマット」「マウント」
といった作業が必要になる。
その際に、
「デバイス名」が必ず必要になるので、
確認しておく。


Back

「内蔵ハードディスク」の「デバイス名」を「確認」する方法


「内臓ハードディスク」を接続したら、
まず、「デバイス名」を確認する。

「内蔵ハードディスク」を追加した時に
必要な作業の
「パーティション」「フォーマット」「マウント」
といった作業に
「内蔵ハードディスク」の「デバイス名」が必要となる。



「ハードディスク」の「デバイス名」を確認する方法


コマンドを入力して、
デバイスの情報を確認する。
ハードディスクの「デバイス名」などは、
後の設定でも必要になる。

//すべてのディスクを表示するコマンド
fdisk -l /dev/sd*

//各デバイスの情報を確認するコマンド
fdisk -l デバイス名
fdisk -l /dev/sda
fdisk -l /dev/sdb
fdisk -l /dev/sdc



出力内容
fdisk -l /dev/sd*

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: xxxxxxxxx


「パーティション」「フォーマット」が完了していると下記のような情報も掲載される。
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 976773119 487873536 8e Linux LVM
「/dev/sda」がデバイス名。
「/dev/sda1」「/dev/sda2」は、パーティション名。
複数のハードディスクがある場合は、「sda」の最後のアルファベットが、「sdb」というようになる。



「デバイス名」の「種類」


「デバイス名」は、
接続する「ポート」と「接続方式」で異なり、
下記のようになる
P-ATA の場合
デバイス名説明
/dev/hdaプライマリコントローラーのマスターポートに接続
/dev/hdbプライマリコントローラーのスレーブポートに接続
/dev/hdcセカンダリコントローラーのマスターポートに接続
/dev/hddセカンダリコントローラーのスレーブポートに接続

S-ATA の場合は通常
デバイス名説明
/dev/sda1番ポートに接続
/dev/sdb2番ポートに接続
/dev/sdc3番ポートに接続
/dev/sdd4番ポートに接続



Back

【~2TB】「fdisk」コマンドで「内蔵ハードディスク」に「パーティション」を「作成」する方法


追加する「ハードディスク」の
「デバイス名」を確認した後は、
「ハードディスク」に「パーティション」を作成する


「fdisk」コマンドは、
「2TB」までの「パーティション」が作成できる。
「2TB」より大きい「パーティション」の場合は、
「parted」コマンドで、
「2TB」を越える「パーティション」を作成する。

既に、
パーティションがある場合は、
利用するか、削除する。
削除すると、
中にあるデータは、すべて消去される。

「パーティション」とは、
ディスク内を区分けすると覚えれば良い。
一つのパーティションでも良いし、
一つのハードディスク内に、
複数のパーティションを作成しても良い。


「パーティション」を作成する手順


パーティションは、
「fdisk」コマンドで操作を行う。

デバイス名を指定して、
「fdisk」コマンドを使い、応答式でオプションを入力し、
「パーティション」の「確認」「作成」「削除」などを行う。



「fdisk」コマンドを起動する。
fdisk /dev/sdb

「fdisk」コマンドのオプション一覧を確認する
コマンド (m でヘルプ): m

コマンドの動作
a : toggle a bootable flag
b : edit bsd disklabel
c : toggle the dos compatibility flag
d : delete a partition
g : create a new empty GPT partition table
G : create an IRIX (SGI) partition table
l : list known partition types
m : print this menu
n : add a new partition
o : create a new empty DOS partition table
p : print the partition table
q : quit without saving changes
s : create a new empty Sun disklabel
t : change a partition's system id
u : change display/entry units
v : verify the partition table
w : write table to disk and exit
x : extra functionality (experts only)

ハードディスク内のパーティションを確認する
コマンド (m でヘルプ): p

パーティションがなければ、パーティションを作成する。

ハードディスク内のパーティションを削除する
コマンド (m でヘルプ): d
Selected partition 1 Partition 1 is deleted コマンド (m でヘルプ): w

パーティションが一つの場合は、すぐに削除。
複数の場合は、パーティション番号を入力するように求められる。
最後に「w」オプションを入力すると、パーティションの変更が適用される。
間違えても、「w」オプションを入力しない限り、パーティションの変更はされない。

ハードディスク内のパーティションを作成する(ハードディスク全体に一つのパーティションを作成する)
コマンド (m でヘルプ): n

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

Select (default p): p
パーティション番号 (1-4, default 1): 1
最初 sector (2048-3907029167, 初期値 2048): 2048
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-3907029167, 初期値 3907029167): 3907029167
初期値 3907029167 を使います
Partition 1 of type Linux and of size 1.8 TiB is set

「新しいパーティション」を「確認」する
コマンド (m でヘルプ): p

「/dev/sdb」項目に「/dev/sdb1」というパーティション情報があればOK。

「新しいパーティション」を「保存」して「終了」する
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

「w」を押すと「保存」して「終了」
「q」を押すと「保存せず」に「終了」。

この作業でパーティションが作成される。

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

パーティション作成の完了
次は、パーティションのフォーマット。





「fdisk」コマンドの操作オプション一覧


atoggle a bootable flag
bedit bsd disklabel
ctoggle the dos compatibility flag
d delete a partition
パーティションを削除する
gcreate a new empty GPT partition table
Gcreate an IRIX (SGI) partition table
llist known partition types
m print this menu
コマンドの操作一覧が表示される。
nadd a new partition
ocreate a new empty DOS partition table
p print the partition table
ディスクの状態が表示される
qquit without saving changes
screate a new empty Sun disklabel
tchange a partition's system id
uchange display/entry units
vverify the partition table
w write table to disk and exit
保存して「fdisk」コマンドを終了
xextra functionality (experts only)



Back

【4TB~】「parted」コマンドで「内蔵ハードディスク」に「パーティション」を「作成」する方法


「2TB」以上の「パーティション」の場合は、
「parted」コマンドで、
「パーティション」を作成する。

「パーティションの種類」は、
「GPT」でないと、
「2TB」より大きい「パーティション」が作成できない。

「パーティションの種類」が「msdos」の場合は、
「GPT」への「変更」の処理をする必要がある。



「パーティションテーブルの種類」が「GPT」かを確認する

# parted /dev/sdb
GNU Parted 2.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
モデル: HGST HMS 5C4040ALE640 (scsi)
ディスク /dev/sdb: 4001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号 開始 終了 サイズ タイプ ファイルシステム フラグ



必要のない「パーティション」を「削除」する方法

rm パーティション番号
と入力するだけ。



「パーティションテーブルの種類」を「GPT」に変更する方法

(parted) mklabel gpt
警告: いま存在している /dev/sdb のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y
(parted) p
モデル: HGST HMS 5C4040ALE640 (scsi)
ディスク /dev/sdb: 4001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 17.4kB 4001GB 4001GB primary

(parted) q


「4TB」以上の「パーティション」を作成する方法

「parted」コマンドで、
「mkpart primary ext4 0 -0」を入力することで、
「-0」という表示は、「最大容量」という意味。



「4TB」以上の「パーティション」を作成するコマンド操作

(parted) mkpart primary ext4 0 -0
警告: The resulting partition is not properly aligned for best performance.
無視(I)/Ignore/取消(C)/Cancel? I
(parted) p

モデル: HGST HMS 5C4040ALE640 (scsi)
ディスク /dev/sdb: 4001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 17.5kB 4001GB 4001GB primary

(parted) q




Back

「内蔵ハードディスク」を「フォーマット」する方法


新しい「内蔵ハードディスク」に、
「パーティション」を「作成」できたら、
「パーティション」を
「CentOS」で利用できる「フォーマット」にする。

フォーマットには、
いくつか種類があるので、
他のOSなどとの共有を考えるのであれば、
互換性があるフォーマットを選択するのが良い。
「Windows」との共有をするのであれば、
「ext3」が今のところ無難。


フォーマットの方法

フォーマットは、コマンドを入力するだけで、入力した後は、ただ待つのみ。
PCの性能と容量にもよるが、2TBで10分ぐらいだったと思う。
終了したら、フォーマット完了。

「ext4」では、Windowsとの互換性に不安がある。
Windowsとの共有をしていある場合は、今のところ「ext3」が無難らしい。



「ext3」にするフォーマットコマンド

mke2fs -j [パーティション]
例:mke2fs -j /dev/sdb1
mke2fs -jc [パーティション] ===「読み込みのみ」の検査
mke2fs -jcc [パーティション]===「読み書き」の検査
オプション「-c」 を追加すると、フォーマット前に不良ブロックの検査を行うが、時間がかかる。

mkfs.ext3 /dev/sdb1


「ext4」にするフォーマットコマンド

mkfs -t ext4 /dev/sdb1

mkfs.ext4 /dev/sdb1


Back

「内蔵ハードディスク」を「マウント」する方法


新しい内蔵ハードディスクを追加したときに、

・パーティション作成
・フォーマット

が完了したら、
ハードディスクを利用するための準備は完了。


あとは、
「マウント」という、
「ハードディスク」と「ディレクトリ」を関連付けて、
「ドライブ」への「入口」を作ってあげれば、
「ハードディスク」を「ドライブ」としてい利用できる。

「マウント」は、
「ディレクトリ」を
「ハードディスク」の入口にすると「宣言」する「手続き」。


「マウント」で繋げる、
「ディレクトリ」の置き場所は、どこでも良い。
「/mnt」「/home」などを置き場所にすることが多いらしい。


「マウント」で繋げる「ディレクトリ」を作成する方法

既存のファイルシステムのどこかに、
「マウント」をする
増設した「ハードディスク」の「入口」となる「ディレクトリ」を
「mkdir」コマンドで作成する。

mkdir /ディレクトリ名



「一時的」に「マウント」する方法

「追加」した「ハードディスク」を利用するために、
「フォーマット」した「ハードディスク」を
「mount」コマンドなどで、
「マウント」することができるが、
その効果は一時的。

「CentOS」を「再起動」したら、
「マウント」は「解除」されるので、
注意が必要。

「恒常的」に「マウント」をさせる場合は、
設定ファイル「/etc/fstab」への記述が必要。

「mount」コマンドで、
「マウント」する意味は、
「マウンド」ができるかの「チェック」。
問題なければ、
「恒常的」な設定をする。


作成したディレクトリに、ハードディスクをマウントする
作成したディレクトリに、フォーマットしたパーティションをマウントする。


「mount」コマンドを使ってマウント
mount パーティション名 ディレクトリのURL
mount /dev/sdb1 /ディレクトリ名
mount -t ext4 /dev/sdb1 /mnt/ディレクトリ名
「df」コマンドで、
ファイルシステムのディスク情報一覧を確認して、
問題なければ、一時的なマウント設定が完了。
再起動すると、再度マウントしなければならない。



「CentOS」で認識している「ドライブ一覧」を取得する方法」

「df」コマンドで、
認識している「ドライブ一覧」が確認できる。

# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/sdb1 3.8T 189M 3.6T 1% /mnt/マウント名




「恒常的」に「マウント」するように設定する方法

「追加」した「ハードディスク」を
「恒常的」に「マウント設定」するには、
設定ファイル「/etc/fstab」に記載して、
起動時に自動的にマウントされるように設定する必要がある。


設定ファイル「/etc/fstab」で設定する方法


「恒常的」に「マウント設定」する設定ファイルは、
/etc/fstab
が利用されている。

「/etc/fstab」への自動マウント情報は、
「一つのドライブ」について「一行」で記述する。
設定ファイル「/etc/fstab」への記述を間違えると、
「レスキューモード」で起動して修正しなければならないので注意。



「vi」コマンドで編集するコマンド

vi /etc/fstab



「vi」コマンドの操作方法

操作キー説明
a「追記モード」にする「操作キー」
esc「追記モード」などを「終了」する「操作キー」
:wq「変更内容」を「保存」して「終了」する「操作キー」


設定ファイル「/etc/fstab」の「書式」

[fs_spec][fs_file][fs_vfstype][fs_mntops][fs_freq][fs_passno
[パーテション][ディレクトリ名][フォーマット形式][fs_mntops][fs_freq][fs_passno]

例:
/dev/sdb1   /home/ディレクトリ名   ext3  defaults  1  3
/dev/sdb1   /mnt/ディレクトリ名   ext4  defaults  1  3
スペースは、タブで調整。
設定後は、再起動して、マウントされていれば終了。



設定ファイルのパラメータ

fs_spec マウントするデバイスを指定。
「none」となっているデバイスはシステムが仮想的に作り出しているもので、システムの情報をリアルタイムに表示するために利用される。
fs_file マウント位置を指定。
必ず実在するディレクトリを「絶対パス」で記述。
スワップ に用いるデバイスの場合は「swap」と記述。
fs_vfstype ファイルシステムのフォーマット形式を指定。
内蔵ハードディスクの場合は通常「ext3」。
その他に自動判別を指定する「auto」
スワップファイル形式の「swap」
「,」 で区切って複数を指定することも可能。
fs_mntops マウント時のオプションの指定。
特に指定の必要がない場合は"default"と記述。
読み取り専用でマウントするための「ro」
実行を禁止する「noexec」などがある。
「,」 で区切って複数を指定することも可能。
fs_freq dumpコマンドを実行するときに対象に含めるかどうかの指定。
dumpコマンドでのバックアップを行わない場合は「0」と指定してよいが、
「1」に指定しておいても「dump」コマンドを実行しなければ同じことなので、通常は"1"を指定しておく。
複数のデバイスに同じ数字を割り当てると、チェックが同時に行われて起動に時間がかかるようになる。
できるだけ異なる数値を割り当てる。
システムの稼動に必須のデバイスは並行してチェックするのが望ましいため、重複して「2」を割り当てる。
fs_passno システム起動時にfsckコマンドによるファイルシステムのチェックを行うかどうかの指定。
数値で指定し、数字が小さい順にチェックが行われる。
通常は 「/」に対して「1」。
それ以外の主要なデバイス(つまりシステムの稼動に必須であるもの)には「2」
それ以外のデバイス(例えばデータのみのようなデバイス)には「3」以降



「e2label」コマンドで「自動起動」するように追加する方法

「fs_spec」には、
直接デバイス名を記述せずに、
「e2label」コマンドで付加した
「ファイルシステム」のラベルを使用して、
「LABEL=[ラベル名]」 と指定することも可能。


e2label /dev/sdb1 /ディレクトリ名




Back