Linux(Ubuntu)でexFATに対応する方法

ファイルシステムの中で、セキュアなどの点を除いて汎用性が高い形式に「exFAT」というものがある。
最もポピュラーなファイルシステムである「FAT」を文字通り拡張(Extended)したもので、Windowsに限らずMacなどでも読み書きを行う事ができ、「FAT」の多くの弱点を克服できてる。
続きを読む

Ubuntu コーデック類をインストール

Ubuntuを利用してる上で、様々な動画を見ることになるが、これらを再生する時にはコーデックが必要になる。

コーデックのインストール方法
インストールアは簡単で以下のコマンドを走らせるだけで、ポピュラーなコーデックはインストールされる。
続きを読む

Ubuntu Server RAID管理

サーバーを構築すると、目的にそってHDを設定することが多いですね。
例えばファイルサーバーですと大量で様々データを蓄積していきます。
当然HDは消耗品ですので、状況によっては簡単に壊れますし、2年経てばいつでも”寿命”を迎えます。
そこで冗長化を図るためRAIDを構築する事が有効な対処方法で、使われることが多いです。
このRAIDを管理方法を軽く解説します。

使用するのは以下のコマンド。

 # mdadm

「mdadm」はRAID管理コマンドの一つでよく使われるコマンドの一つです。
管理や構築など、様々な事が出来ます。
サーバ構築をミニマムで構築された方は以下の例の様にインストールしておいてください。

 # apt-get install mdadm

RAID構築

まず構築したいRAIDのレベルをよって最低限に必要なHDDの数があります。
RAID1(ストライピング)やRAID2(ミラーリング)ですと、最低2基のHDDがRAID5(パリティ)等ですと最低3基から必要となります。
詳しくは以下のサイトで確認できます。
RAID (Wikipedia)

さて、構築をしていきます。
今回はRAID5を4基のHDDで構築したいと思います。
上記の条件でのコマンドを入力します。

 # mdadm -C /dev/md0 -l5 -n4 /dev/sd[bcde]

オプション

  -C
  :クリエイト 構築するという事

 次のブロック
  構築先 この場合 ” /dev/md0 “に構築、アレイ名は[md0]で指定しなければこうなる。

 -l5
  :構築するRAIDのレベル、この場合はRAID5。RAID2がいいなら -l2 となる。

 -n4
  :構築に使うディスクの数。この場合は4基ということ。

 最後のブロックは構築に使うハードの選択、”/dev/sd[bcde]” とは、、、
 sdb、sdc、sdd、sdeの4つのハードを使うという事。

つながっているHDの名前をチェックは以下のディレクトリを参照すれば見れます。

 $ ls -l /dev/sd*

最後の「sd*」はSCSIやSATAなどで接続しているデバイスに付随する名前で、「hd*」の場合はIDEで接続されているデバイスに付随する名前になります。
例:sda、sdb、sde、などのとつく物がSATA等で接続したデバイス、hda、hdb、hdc、などがIDEデバイスです。

構築完了後は

 $ cat /proc/mdstat

で状態を確認できます。
なお、リビルド中は基本的に領域を扱わないことをおすすめします。

これでRAIDは構築出来ました。


領域の準備

次に領域にパーティションを作りフォーマットします。

パーティション作成

 # fdisk /dev/md0

以下のコマンド画面が出ますので、対話的に設定を進めます。
基本的にdefault値にして問題ないでしょう。

 Commond (m for help): n
 Pertition type:
  p primary (0 primary, 0 extended, 4 free)
  e rxtended
 select (default p): p
 Partition number (1-4, default 1): 1
 First secter (3072-6285311, default 3072): 3072 (空でデフォルトの数字が適用される。)
 Last sector, +secters or +size{K,M,G} (3072-6285311, default 6285311): 6285311 (空でデフォルトの数字が適用される。)

 Commond (m for help): w

これでパーティションが作れました。

フォーマット(XFS形式)

次に領域をフォーマットします。
フォーマット形式には色々な形式があります、今回はRAIDを前提としていますので「XFS」形式でフォーマットします。
この形式はNASなどでもよく使われており、古くからあるのですが、ファイル名やデータサイズの制限も少なく、非常に柔軟にデータを管理出来ます。

さて、標準でこのフォーマット形式を扱えないことがありますので、以下のコマンドでインストールします。

 # apt-get install xfsprogs

インストールが完了しましたらいよいよフォーマットです、以下のコマンドを実行します。

 # mkfs.xfs -f /dev/md0

これでフォーマット完了です。


マウント

マウント先を作成

 # mkdir /home/user/cache

 所有者を変更

 # chown user /home/user/cache

 マウントする

 # mount /dev/md0 /home/user/cache

これでマウント完了、自由に使うことが出来るようになりました。
起動時に自動的にマウントしたい場合は、
/etc/fstab
に記述しておいて下さい。


ロストしたHDDを交換再構築

ある意味ここからが本題ですね、RAIDはHDが故障すること前提としている節があります。
RAID5の冗長性はHDが1基までです。
1基壊れたと想定して以下のオペレーションを行なっていきたいと思います。

新たにつながったHDの名前をチェック

 $ ls -l /dev/sd*

(この場合 sdeとする)

アレイ名をチェック(変更していることがある

 $ cat /proc/mdstat

(md127変更があったとする)

新HDを組み込む

 # mdadm --manage /dev/md127 -a /dev/sde

リビルド状況を確認する

 $ cat /proc/mdstat

リビルド中は高付加のため、完了するまでは触らない方がよいですね。
割と簡単ですが、 高負荷がかかるため、リビルド中に更に1基壊れて、終了フラフが立つことがあります。
故障が発生しなくとも、周期などを決め、交換していくことも大切な事ですね。
キチンとしたストレージマネージメントを考慮しながらHDを大切に扱うことも冗長性を向上させる要素です。


アレイ名を変更する

さて、先のようにアレイの名前が変わってることがあります。
その場合は新たなアレイ名でマウントするだけですが、気持ち悪い人は以下の手順で対応してみては如何でしょうか?

 # unmount /home/user/cache
 # mdadm -S /dev/md127
 # mdadm -A /dev/md0 /dev/sd[bcde]
 # mount /dev/md0 /home/user/cache

解説としまして、
一行目でアンマウントします、既にマウントしていない場合は不要です。
二行目で”-S”オプションでアレイ名「md127」を停止させています。
三行目では新たにアレイを設定し、sdb、sdc、sdd、sdeの4つのHDを組み直してます。
四行目には新たなアレイ名でマウントし直してます。


HDDを追加再構築

データを扱っていると、容量不足がは永遠の課題です。
そこでRAID5の特性を生かし、容量を増やしていこうと思います。
まず、新規に1基システムに組み込みます、この時RAID5の場合、均一容量のHDDが必要ですので、既存の容量と同等のHDを使いましょう。
接続し、起動しましたら以下のオペレーションを行なっていきます。

新たにつながったHDの名前をチェック

 $ ls -l /dev/sd*

ここでは新たに見つかったHDDを”sdf”とします。

念の為にアレイ名をチェック(変更していることがある

 $ cat /proc/mdstat

アレイ名は”md0″とします。

新HDをアレイに組み込む

 # mdadm –manage /dev/md0 -a /dev/sdf

これでアレイに組み込まれますが、まだRAIDとしては機能せず、スペアとして認識しています。

新規はスペアなのでRAIDに組み込む

 # mdadm –grow /dev/md0 –raid-disks=5

リビルド状況を確認する

 $ cat /proc/mdstat

高付加のため完了するまでは触らない方がよい

Sambaの領域をマウントする方法

今やポピュラーなファイルサーバ「Samba」。
データの移行やバックアップを行うという事は良くある話です。
外付けのHDDにバックアップすることが多いのですが、とあるサーバから別のサーバへとデータをコピーする事もあります。
「Samba」にはそういう状況に応じたコマンドももちろん搭載してます。
続きを読む

Ubuntu Server の文字化け

Ubuntu 12.04 Server エディションをインストールする時に、使用する言語を思わず「日本語」にしてしまうことがあります。
サーバーの場合、ほとんどGUIは使わずCUIで操作する事がポピュラーです、そのため最低限の能力しか持たないサーバー機の言語を日本語にしてしまうと、CUI上で文字化けを起こしてしまします。
対処方法の一つとして、「日本語体系をインストールし、日本語フォントをインストールし、最後に日本語入力のソフトをインストールする」事がで対処できます。
しかし、コマンドやLinuxの世界的な情勢を見ても「英語」がスタンダートになっており、日本語のディレクトリ階層を使用した場合も”トラブル”の原因となることもあります。
ですので他の対応をするべきでしょう。

以下のファイルの末に書き込みをします。

# vim ~/.bashrc

編集画面が出て来ましたら、最後尾まで移動しまして、以下の内容を書き込みます。

case $TERM in

linux) LANG=C;;
*) LANG=ja_JP,UTF-8;;

esac

終わりましたら、保存>終了し、再起動します。
これで、文字化けの部分が英語で表示されるようになります。


ちなみに徹底的な対処としまして、再インストールです。
この手法はこの記事を読んでいる方にお任せします。w

日本語名のディレクトリを英語化

現在Ubuntuを使っているわけですが、コマンドで操作をするときにディレクトリ名が日本語だと色々と不便な事があります。
コマンドは基本的に英語なのでそこへ日本語が入ると入力モードを切り替えて入力しないといけません。
GUIだと良いのですが、CUIだと非常に面倒である、環境によっては行けない可能性もある様です。(ある意味高いセキュア性があると言えるが)
そこで英語化してコマンド入力の効率化を図ります。
続きを読む