今日の朝、HPを見ようとしても開くことができない。またなんかおかしくなったのか!?という原因がこれでした。
つまり、メインHDDの容量が100%になったのでシステムが正常に動かなくなったよーというやつです……
で、調べてみたところファイルストレージのHDDがマウントされていなかったのです……気づかなかった
ということでfstabで再起動してもファイルストレージがマウントされるように設定を行おうと思います。
まず、該当とするフォルダの作成を行います。今回はstrageフォルダを作成します。
[shell] mkdir /strage [/shell]
/etc/fstab を開いて設定を変更するだけ……と思っていたのですが、ファイル内容が私が思ってたのと違う構造になってました。
[shell] ~省略~ LABEL=/boot1 /boot ext4 defaults 1 2 [/shell]
あれ、なんでLABELがついてるんだ?
と思い、調べてみる。
http://www.itmedia.co.jp/help/tips/linux/l0529.html
どうやらfstabの仕様が変わってたようです。
ふむ、まず各デバイスにe2labelラベルを付与し、それをfstabで記述するんですね。
[shell] e2label /dev/sdb1 /strage [/shell]
で、後はfstabに記述っと
[shell] ~省略~ LABEL=/strage /storage ext4 defaults 1 2 [/shell]
defaultsの後ろの数字は最初は1 0にしてから再起動を行い、再起動後きちんとマウントされているか確認したほうがいいです。
ラベルのスペルミス等でマウントできない場合下手するとlinux自体起動不能になります。
fstabによるサーバーが正常しない為の奮闘
再起動後はdfコマンド等で確認すればいいです。
[shell] df ファイルシステム 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sdb1 1922859912 78205256 1746978980 5% /strage [/shell]
fstab
OS起動時にマウントを行うデバイスとマウントポイント場所を指定するファイルです。
書式方法は以下を例とする。
デバイス | マウントポイント | ファイルシステム | マウントオプション | dumpオプション | fsckオプション |
LABEL=/strage | /storage | ext4 | defaults | 1 | 2 |
今回はデバイスをe2labelで指定したLabelを作成
マウントポイントはmkdirにて先に作成する必要性があります。
ファイルシステムはHDDのフォーマットの種類を記載
マウントポイントは色々記述できますが、今回はdefault(rw, suid, dev, exec, auto, nouser, asyncを有効)にします。
マウントオプションについてはこちら
複数指定する場合はカンマ区切りで指定します。
dumpオプションはdumpコマンド(バックアップ)を使用する際、どこまでをバックアップの対象にするかどうかの設定です。
0:dumpコマンドの際、対象に含まない
1:dumpコマンドの際、対象に含む
fsckオプションはfsckコマンド(ファイルチェック)を使用するかどうかとその順序の設定です。
0:fsckを行わない
1:fsckを行う(/ のみ)
2~:fsck必要(/ 以外で指定する場合)
同じHDDで同一数値を指定するとfsckが遅くなる場合があるので数字を変えたほうがいいです。
わからない場合は2が無難だと思います。
マウントオプションの指定
色々と種類があるので別項目として掲載します。
- async
- すべてのデータ書き込み、読み込みを非同期処理で行います。
- 同期処理で行いたい場合はsyncを使用します。
- すべてのデータ書き込み、読み込みを非同期処理で行います。
- atime
- ファイルシステムにアクセスする度にinodeのアクセス日付を更新します。
- inodeとは
- 逆に更新したくない場合はnoatimeを指定します。
- ファイルシステムにアクセスする度にinodeのアクセス日付を更新します。
- auto
- mountコマンドの-aオプション実行時、マウント対象にします。
- -aオプションとはfstabに記述されているファイルシステムでマウントするということです。
- 逆にマウントしたくない場合はnoautoを使用します。
- mountコマンドの-aオプション実行時、マウント対象にします。
- codepage
- 文字コードを指定します。
- Shift_JISならcodepage=932を指定します(Windowsでフォーマットされた場合とかに使用するみたいです。)
- UTF-8ならcodepage=65001です。
- 他の文字コードはこちらを参照してください。
- 文字コードを指定します。
- defaults
- rw, suid, dev, exec, auto, nouser, asyncを有効にします。
- dev
- ファイルシステムのデバイスを利用できるようにします。
- ファイルシステムのデバイスを利用したくない場合はnodevを使用します。
- ファイルシステムのデバイスを利用できるようにします。
- exec
- バイナリの実行を許可します。
- 許可したくない場合はnoexecを使用します。
- バイナリの実行を許可します。
- gid
- マウントする際、マウントポイント以下のファイルやフォルダのグループを指定されたIDに変更します。
- IDは数字で入力します。
- マウントする際、マウントポイント以下のファイルやフォルダのグループを指定されたIDに変更します。
- iocharset
- マウントする際、システムの文字コードを指定します。
- utf-8とか、euc-jpとかを指定
- 例)iocharset=utf-8
- マウントする際、システムの文字コードを指定します。
- noatime
- ファイルシステムにアクセスしてもinodeのアクセス日付を更新しないようにします。
- inodeとは
- 逆に更新したい場合はatimeを指定します。
- ファイルシステムにアクセスしてもinodeのアクセス日付を更新しないようにします。
- noauto
- mountコマンドの-aオプション実行時、マウント対象にしません。
- -aオプションとはfstabに記述されているファイルシステムでマウントするということです。
- 逆にマウントしたい場合はautoを使用します。
- mountコマンドの-aオプション実行時、マウント対象にしません。
- nodev
- ファイルシステムのデバイスを利用できないようにします。
- ファイルシステムのデバイスを利用したい場合はdevを使用します。
- ファイルシステムのデバイスを利用できないようにします。
- noexec
- バイナリの実行を許可しません。
- 許可したい場合はexecを使用します。
- バイナリの実行を許可しません。
- nosuid
- SUID・SGIDを無効にします。
- SUID・SGIDとは
- SUID・SUIDを有効にしたい場合はsuidを使用します。
- SUID・SGIDを無効にします。
- nouser
-
- root(管理者権限)のみマウント可能にします。
- ro
-
- 読み込み専用でマウントします。
- rw
-
- 読み込み・書き込みが行える形でマウントします。
- suid
-
- SUID・SGIDを有効にします。
- SUID・SGIDとは
- SUID・SUIDを無効にしたい場合はnosuidを使用します。
- SUID・SGIDを有効にします。
- sync
-
- すべてのデータ書き込み、読み込みを同期処理で行います。
- 非同期処理で行いたい場合はasyncを使用します。
- すべてのデータ書き込み、読み込みを同期処理で行います。
- user
-
- 一般ユーザーでもマウント可能にします。
- uid
-
- マウントするユーザーIDを指定します。