2014/04/09

Windows 8 記憶域について

 Windows 8には記憶域というものが存在するらしいので、試してみようと思う。

まずその前に環境を記載する。
・マシン: HP ProLiant MicroServer N54L
・HDD: WD40EFRX-68WT0N0
・OS: Windows 8 Pro 64bit

ここで、WD40EFRX-68WT0N0単体でのベンチマークを貼っておく。
・測定ソフト: CrystalDiskMark 3.0.3 Shizuku Edition x64
ランダムデータ 1000MB 5回
ランダムデータ 4000MB 5回
自分は容量と耐故障性を考慮してRAID5orRAID6をデータストレージとして使用しています。
MicroServerでは光学式ドライブの箇所にもHDDを設置できるため、OS用にHDD1台とし、データ用にHDD4台使用します。
管理→ディスクの管理
にてRAID5を作成できるのですが、この機能はServer系のOSでのみ利用できるので、Windows 8ではグレーアウトしてます。
よって、クライアント系のOSであるWindows 8では記憶域というものを使用します。
コントロールパネル→システムとセキュリティ→記憶域
と進みます。
「新しいプールと記憶域の作成」をクリックし、記憶域プールを作成します。
ここで、データ用HDD4台を選択し、「プールの作成」をクリックします。
名前とドライブ文字は適宜に設定し、回復性の回復性の種類を「パリティ」にします。
プールの全容量が14.5TBで作成可能な記憶域の最大サイズが9.7TBとなり、66%しか使用できないことになりますが、ここではそのまま「記憶域の作成」をクリックし、一度記憶域を作成しておきます。
これは、HDD3台での運用を前提としているため、GUIでは33%のパリティ作成で固定されているためです。
なので、CUIにてパリティが25%の記憶域を作成します。
これは記憶域プールが作成されていることが前提ですので、上記で一度記憶域プールと記憶域を作成しておいたのです。
コマンドでは、
・記憶域プールの名前(デフォルトでは「記憶域プール」となっている。)
・記憶域に使用するHDDの台数
・ 作成する記憶域の容量
が必要になります。
コマンドは、Windows PowerShellにて実行しますので、管理者権限にて起動させます。
以下は、自分が実行したコマンドです。

PS C:\WINDOWS\system32> new-virtualdisk -storagepoolfriendlyname 記憶域プール -friendlyname 記憶域Storage -provisioningtype thin -numberofcolumns 4 -resiliencysettingname parity -size 10.50TB
new-virtualdisk: 記憶域の作成
-storagepoolfriendlyname: 記憶域プールの名前を指定
-friendlyname: 記憶域の名前を指定
-provisioningtype: シンプロビジョニングを指定
-numberofcolumn: 使用するHDDの台数を指定
-resiliencysettingname: 回復性の種類を指定
-size: 記憶機のサイズを指定
(ここの説明は厳密に調べたわけではないので、要注意)

以下が、コマンドの結果です。

FriendlyName        ResiliencySettingName OperationalStatus   HealthStatus        IsManualAttach                     Size
------------        ------------------- -----------------   ------------        --------------                     ----
記憶域Storage       Parity              OK                  Healthy             False                           10.5 TB
FriendlyName: 記憶域Storage(記憶域の名前)
ResiliencySettingName: Parity(回復性の種類)
OperationalStatus: Healthy
HealthStatus: Healthy(記憶域の健康度?)
IsManualAttach: False(再起動時の自動マウント?)

無事に記憶域が作成されましたか、
コントロールパネル→システムとセキュリティ→記憶域
で確認します。
無事に作成されていたら、最初に作成した記憶域(デフォルトでは「記憶域」という名前)を削除し、先程作成した記憶機をフォーマットします。

作成した記憶域(WD40EFRX-68WT0N0×4台)のベンチマークは以下のとおり。
ランダムデータ 1000MB 5回
ランダムデータ 4000MB 5回

やっぱりパリティ計算が入るので書き込みはとても遅くなっている。
更にシーケンシャル書き込みの際、AMD Turion NEO N54LでSystemが10~20%のCPU使用率になるのが気になります。
ptTimer1つあたり~20%なので、8チャンネル録画でも問題ないと思う。

参考サイト
HDD6台でWindows8の記憶域プールを使用する方法@5.25inch floppy
記憶域スペース@薩摩藩中仙道蕨宿別邸

2014/04/05

HDDのテストについて

久しぶりに新たにHDDを購入したので、初期不良チェックをまとめておきたいと思う。
 HD Tuneのフリー版(Ver.2.55)が2TiB以上のHDDを正しく認識しないなど、使用するツールも変わってきたためである。
注意事項としては、私は基本的にWesternDigital製のHDDしか購入しないため、一部ツールは他社製品では使用できないと思われる。

CrystalDiskInfo(水晶雫 Ver.)
HDDのS.M.A.R.T.(健康状態)を監視するツール。
私は特別版であるCrystalDiskInfo 6 Shizuku EditionのUltimateを使用している。
2014/4/4現在の最新版は、6.1.9aである。
各種テストを行う前にインストールしておくことにより、HDDの変化を観察することが可能。
ここで気をつける項目としては、C4、C5、C6の生の値が0から増えていないかどうかである。
もし、増えるようであればそのHDDは初期不良として交換してもらうべきである。
購入店に相談しに行く際は、画面を印刷して一緒に持って行くと話が早く進む。

WD Red SMART ロード/アンロード ユーティリティ
WesternDigital Redシリーズには、IntelliParkのタイマー時間を300sに延長する(ファームウェアの更新)ソフトウェアが提供されている。
通常、出荷時に300sに設定されているようであるが、一部のHDDは8sに設定されている可能性があるため、確認をしておいたほうが良い。
HPの説明は分かりづらいので、以下に解説を載せる。
1) wd5741.exeをダウンロードする。(ここではCドライブ直下へ置く事とする。)
2) コマンドプロンプトを管理者権限で起動する。
3) cdコマンドでwd5741.exeがおいてあるフォルダに移動する。
4) オプションの確認

  C:\>wd5741 -?
  WD5741 Version 1
  Update Drive
  Copyright (C) 2013 Western Digital Corporation

  Syntax:
  WD5741 [-d?] [-dn] [-dall] [-s] [-bn] [-?]
  where
  -s          Stop updating on first failure
  -bn         Set maximum bytes per command (default=512)
  -d?         List available drives
  -dn         Update the specified drive
  -dall       Update all applicable drives

  -?          This help message

5) PCに接続されているHDDの一覧を表示させる。

  C:\>wd5741 -d?
  WD5741 Version 1
  Update Drive
  Copyright (C) 2013 Western Digital Corporation

  -Dn   Model String                       Serial Number              Firmware
  -D0   WDC WD40EFRX-68WT0N0   WD-XXXXXXXXXXXX   80.00A80
  -D1   WDC WD40EFRX-68WT0N0   WD-XXXXXXXXXXXX   80.00A80
  -D2   WDC WD1001FALS-00J7B0   WD-XXXXXXXXXXXX   05.00K05
  -D3   WDC WD30EZRX-00MMMB0   WD-XXXXXXXXXXXX   80.00A80

6) 上記一覧より、ファームウェアを更新したいHDDを選択する。(ここでは、D0とD1はRedシリーズである。)

  C:\>wd5741 -d0
  WD5741 Version 1
  Update Drive
  Copyright (C) 2013 Western Digital Corporation

  WDC WD40EFRX-68WT0N0   80.00A80   Drive update not needed

  C:\>wd5741 -d1
  WD5741 Version 1
  Update Drive
  Copyright (C) 2013 Western Digital Corporation

  WDC WD40EFRX-68WT0N0   80.00A80   Drive update not needed

ファームウェアが80.00A80であれば、IntelliParkのタイマー時間は300sのようである。
という事は、GreenであるWD30EZRX-00MMMB0も300sなのだろうか?

Data Lifeguard Diagnostics
何故かRedシリーズのページにはリンクがないので、他のシリーズのページから辿る必要がある。
Ver.1.25は不具合があるみたいなので、Ver.1.24を使用する事をお勧めする。
1) QUICK TEST
この時点でエラーが出るようであれば、エラー画面を印刷して購入店へ。
念を入れるのであれば、EXTENDED TESTを行ってみる。
2) EXTENDED TEST
ゼロフィルする前にテストを行う理由としては、ゼロフィルを行うと不良セクタが代替処理されてしまい、一見正常なHDDに見えるためである。
3) WRITE ZEROS(QUICK ERASE)
上記のQUICKとEXTENDEDのテストは読み取りによるテストですので、今度は書き込みを行う。
4) WRITE ZEROS(FULL ERASE)
全体にゼロを書き込んで、不良セクタがないか確認する
5) EXTENDED TEST
全体に書き込みを行った後で、読み取りができない不良セクタが発生していないか確認する。
6) VIEW TEST RESULT
今まで行ったテストの結果を見る。

WD40EFRXは読み込み速度がと書き込み速度約75~145MB/sなので、1つのテストが終了するのに約11時間かかる。
このツールは複数起動が可能なため、テストを行う台数分起動させて一度に行うのがいいでしょう。
Turion II NEO N54LでCPU使用率が1つあたり10%以下ですので、問題ないでしょう。

WipeDisk
使い方は、ハードディスク・USBメモリ内の全データを完全消去するソフト「WipeDisk」@フリーソフトラボ.comを参照。
Data Lifeguard Diagnosticsではゼロ書き込みしか行えなかった為、このソフトを使用してランダム書き込みを全領域に対して行う。
ランダム書き込みであるため、速度は約~100MB/s程度であるし、CPU使用率も10~20%(Turion II NEO N54L)である。
ランダム書き込み終了後に、再度Data Lifeguard DiagnosticsでEXTENDED TESTを行う。
これによりゼロ書き込みでは発見できなかった不良セクタも発見できるかもしれない。(今まで不良セクタにより交換したHDDは最初のEXTENDED TESTで発見されているため、ここまでやっていれば大概は問題のないHDDである。)

・RMA申請
https://westerndigital.secure.force.com/WarrantyCheck?lang=ja
にシリアル番号を入力して登録して、故障したHDDをメーカへ送付し交換してくれる。
http://websupport.wdc.com/warranty/warrantycheck.asp?custtype=end
で保証の期間を調べることができる。
Redシリーズは、初期不良1ヶ月(TSUKUMO)、店舗保証1年、メーカ保証3年です。

2014/04/03

増税前に購入したもの

4/1から消費税が5%から8%に上がりました。
日常品等は微々たる差額ですし、セールを狙えば問題なのですが、1万円を超えるような物はこの際にIYHしてしまいました。
皆同じことを考えているようで、まだ到着していないものもありますが。

WD40EFRX-68WT0N0
購入店: DEPOツクモ 札幌駅前店
購入金額: \19,480 × 4台 = \77,920
増税後: \19,740@ノジマオンライン(4/3現在 価格.com)
言わずと知れた、WesternDigitalのRedシリーズ(NAS用)HDD(4TB)です。
ノジマオンラインは梱包に難があるという口コミが多く、あまり購入したくないですね。
本当はMicroServer N54L+PT3×2枚の録画鯖で使用するのでWD40PURX(\17,480)が欲しかったのですが、残念ながら売り切れていました。
出たばっかですので、入荷数が少ないのは致し方がないのですけど、\2,000の差は大きい。。。
初期不良の対象期間は1ヶ月ですので、鋭意テスト中ですが、1台あたりに時間がかかりすぎて、やばいです。
WD Redのソフトウェアのページには何故かData Lifeguard Diagnostic(テストツール)がないので、WD Green等のページから落としてきます。
最新版は、Ver.1.25ですが、0フィルができない(63レス目)とか、Extended Testで不良品でもないのにエラーが出る(90レス目)とかが2chで報告されていますので、1つ前のVer.1.24を使用するのがいいでしょう。
私のいつものテストパターンは、
CrystalDiskInfo(水晶雫Ver.)をインストール

Data Lifeguard Diagnosticで以下を実行
Quick Test(数分)→Extended Test(17時間)→WRITE ZERO(数分)→WRITE ZERO(17時間)→Extended Test(17時間)

完全フォーマット
といった感じです。
これだと1台あたり4日間コースです。
後、このHDDはIntelliParkを採用しており、一定時間HDDにアクセスがない場合にヘッドが退避してしまいます。
巷では、これが故障につながる可能性があるということで、機能を停止させている人たちもいます。
採用しているHDDはGreenとRedですが、RedにはWesternDigital純正のツールが用意されており、先程のソフトウェアのページよりダウンロードが可能です。
WD Red SMART ロード/アンロード ユーティリティ(最新版はwd5741.exe)
2chによれば、これはヘッドが退避するまでの時間を8sから300sに延ばすだけで完全には機能を停止させることはできないみたいです。

CrystalDiskMarkによるベンチマークはまた後日。

FI-IX500-C
購入店: ヨドバシ.com
購入金額: \38,900(3,890ポイント付き)
増税後: \36,029@ノジマオンライン(4/3現在 価格.com)
PFUのScanSnapシリーズです。
ヨドバシカメラ札幌店で買おうとしたら在庫がなく、泣く泣く通販で購入。
その為、半返しキャンペーンに応募する事が出来ませんでした。。。
型番の最後の-Cはクラウドサービス付きだそうですが、SugarSync 10GB(1年間)のライセンスだそうで、私にはあまり使い道はないですね。
でも、単体より何故か安いんですよね。
また、楽²ライブラリ Smart V1.0 with Magic Desktop V1.0がセットになったモデルも有るのですが、差額が\3,000~\4,000もあるので、止めました。

・Evernote プレミアムパック 3年版
購入店: ヨドバシ.com
購入金額: \7,770(777ポイント付き)
増税後: \7,990@ヨドバシ.com(4/3現在 価格.com)
これもヨドバシカメラ札幌店だけ在庫がありませんでした。
他のヨドバシには在庫があったのに。。。
という訳で現在フリーアカウントに落ちて、60MBの制限に引っかかり、ストレス満載です。
ScanSnapも買ったことですし、今まで以上に活用していきたいですね。
普通にEvernote本家からプレミアムにアップグレードすると、\450/月 or \4,000/年かかります。
しかしソースネクストから購入すると、\4,000/年 or \9,000/3年と安くアップグレードできます。
(4/3現在は\4,094年 or \9,257/3年となっています。)

GeForce GTX 760 S.A.C
購入店: ヨドバシカメラ マルチメディア札幌
\31,700(3,170ポイント付)
4/3 価格.com \30,413@TSUKUMO
ELSA GeForce GTX 760 2GBです。
4GBモデルもあったのですが、BF4とかやらないので2GBで十分だと判断しました。
DEPOツクモ 札幌駅前店だと\35,800だったのですが、店員さんも忙しそうだったので値引き交渉するの面倒になりヨドバシで買ってしまいました。

PT3
購入店: ドスパラ 札幌店
購入金額: \9,980(100ポイント付)
増税後: \10,265@ドスパラ
\10,171@Amazon.co.jp(4/3現在 coneco.net)
モータースポーツ+アニメ+時代劇を録画しようとすると、どうしてもBSとCSのチャンネルが足りなくなったので、PT3を買い増しして2枚体制としました。
MicroServer N54Lは録画するだけならCPUは問題ないようです。
メモリは4GB×2枚(ECC付)にしているので、問題ありません。
もう一台MicroServerを買っても良かったかな。
増税前は、NTT-Xで\17,800-\3,000=\14,800だったのに、今日見たら\59.263まで跳ね上がってました。
PG-DirectAmazonで買ったほうが安い。。。

2011/01/21

CentOS 5.X 設定 No.18 RAID6について

鯖の構成を変更するにあたって、データ領域をmdadmを使用しRAID6で作った訳ですが。。。
ここで落とし穴が。。。
その落とし穴とは!!
CentOSのkernelのバージョンが古過ぎて(2.6.18系統)RAID6にHDDが追加できない!
(RAID6の領域拡張は2.6.21系統かららしい)
というものです。
情報元: 「データ用HDDの準備@CentOSでホームサーバを作ろう」
これは致命的です。
かと言ってkernelの入れ替えが出来る程腕がある訳でもなく。。。
(前に一度やってみたんですが、OS自体起動しなくなるという最悪の事態になったので。)
途方に暮れる事2日。

ふと考えついたのが、
mdadmでのRAID情報はスーパーブロックに記録され、RAIDを構成しているHDD自体に残っている。

kernelが新しいOSのLiveCDで起動し、RAID6の領域を拡張すればいいのでは?
という考えに至りました。
前回のLVM事件でデータは欠損したものの、バックアップは辛うじて存在しているので試してみようかな。!

という訳で、FedoraのLiveCDを落としてきます。
HPを覗いてみると、結構種類があるんですね。
まぁGNOMEで問題ないですし(というか、GNOMEしか使った事がないというのが正しい)、汎用性を考えi686(32bit)版で。
いつの間に32nitはi386からi686に変わったんでしょうかね?
(まぁ適したCPUの世代が異なるというだけなんで、あまり気にしなくてもいいんでしょうけど。)

LiveCDから起動して、Applications > System Tools > Terminal で作業してもいいのですが、SSHでメインマシンから入れるようにします。
System > Preferences > Network Connections からIPを固定。
System > Administration > Firewall でファイヤーウォール自体を殺すか、SSHを許可。
Applications > System Tools > Terminal で以下のコマンドを。
[liveuser@localhost ~]$ su - #パスワードが設定されていないので簡単にrootになれる
[root@localhost ~]# getenforce #SELinuxの状態を確認
Enforcing #SELinuxが有効
[root@localhost ~]# setenforce 0 #SELinuxを無効化
[root@localhost ~]# getenforce
Permissive #SELinuxが無効
[root@localhost ~]# service sshd start #SSHを起動
[root@localhost ~]# passwd root #rootのパスワードを設定, 設定しないとメインマシンからSSHで入れない
ここまでくればメインマシンからSSHでログイン出来るようになりました。
Fedoraから直でRAIDをいじってもいいのですが、キーボードの設定変更しないと調べ物が大変なので。

ここからはメインマシンからの操作
(別に直で操作しても可)
構成としてはHDD4発(sd[abcd]1)で構成されているRAID6に、HDD1発(sde1)を追加して領域を拡張したい。
CentOSの時にsde1は追加済みで、スペアとして認識されている。
[root@localhost ~]# mdadm -D /dev/md/X_X #CentOSと異なり/dev/md/の配下にある
[root@localhost ~]# mdadm --manage /dev/md/X_X --add /dev/sdc1 #sdc1が外れていたので、アレイに戻す。この際リビルドが発生。
[root@localhost ~]# mdadm --grow /dev/md/X_X --raid-disks=5 #スペアを合わせて5発なので。因みにリビルドの時間は2TBで約10時間でスピードは40~60MBps
[root@localhost ~]# mdadm -D /dev/md/X_X #アレイに問題がない事を確認
[root@localhost ~]# yum info mdadm #念の為mdadmのバージョンを記載
Name : mdadm
Arch : i686
Version : 3.1.3
Release : 0.git20100722.2.fc14
Size : 680 k
Repo : installed
From repo : fedora
リビルドが終わったところで、CentOSに戻します。
だがしかし!!
やっぱり認識してくれていなかった。。。
OSによって/dev/sdXの認識の仕方が異なるらしく、アレイからHDDが外れているという事態に!
まぁ1発なので、問題はないのですが。
やはりRAID6の領域拡張は無理なのでしょう。
CentOS 6で出来る事を祈りつつ、早くリリースされる事を願っています。
因みに、CentOS 5.5でのmdadmのバージョンは
Name : mdadm
Arch : i386
Version : 2.6.9
Release : 3.el5
Size : 1.8 M
Repo : installed
です。

RAID5ならCentOS 5.5でも領域拡張出来るのかな?
RAID6からRAID5にオンラインダウングレード出来るのかな?
RAID5からRAID6へのオンラインアップデートは?
上記3つが出来るなら時間は掛かるがCentOS 5.5でもなんとかなるんだけど。

2011/01/19

CentOS 5.X 設定 No.16 munin No.02 複数台の場合

[CentOS 5.X 設定 No.12 munin No.01 1台のみの場合]の続きです。
今回は各サーバではデータを収集する(munin-node)のみとし、1台でグラフ化(munin)したいと思います。
標準リポジトリにはmuninが入っておらず、「RPMforgeリポジトリ」にはあるので、リポジトリを追加したいと思います。
「CentOS 5.X 設定 No.15 RPMforgeリポジトリ追加」を参考にして下さい。

  • データをグラフ化するサーバの設定(監視サイド, マスター)
[root@CentOS ~]# yum --enablerepo=rpmforge install -y munin
[root@CentOS ~]# cp -p /etc/munin/munin.conf /etc/munin/munin.conf.back
[root@CentOS ~]# vi /etc/munin/munin.conf
#追記
[Server] #サーバの表記名, スペースが入らないように
address 192.168.XXX.XXX #監視先サーバのIP
use_node_name yes

  • データを収集するサーバの設定(被監視サイド, ノード)
[root@CentOS ~]# yum --enablerepo=rpmforge install -y munin-node #nunin-nodeのインストール
[root@CentOS ~]# chkconfig munin-node on #起動時にmunin-nodeを自動起動させる
[root@CentOS ~]# chkconfig --list munin-node #ランレベルに応じて起動するかどうかの確認。3&5がonであれば問題ない
[root@CentOS ~]# service munin-node start munin-nodeを起動させる
このままではlocalhostからのアクセスしか許可されておらず、マスターからデータを取得する事は出来ません。
なので、マスターからのアクセスを許可する必要があります。
[root@CentOS ~]# cp -p /etc/munin/munin-node.conf /etc/munin/munin-node.conf.back
[root@CentOS ~]# vi /etc/munin/munin-node.conf
#一番最後の行
allow ^127\.0\.0\.1$ #localhostからのアクセス
allow ^192\.168\.1\.1$ #マスターのIPを追加
[root@CentOS ~]# service munin-node restart

デフォルトのままでは調べたいもののデータが収集されていない場合があります。
例えばHDDの温度。
デフォルトではIDE接続と見なされている/dev/hdXのHDDしかデータが収集されていません。
そこで、/dev/sdXのHDDのデータを収集するようにします。
(これを行うと/dev/hdXのデータは収集されなくなります。)
[root@CentOS ~]# yum install smartmontools
[root@CentOS ~]# ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins
[root@CentOS ~]# cp -p /etc/munin/plugin-conf.d/hddtemp_smartctl /etc/munin/plugin-conf.d/hddtemp_smartctl.back
[root@CentOS ~]# vi /etc/munin/plugin-conf.d/hddtemp_smartctl
user root
env.drives sda sdb #追加 (sda&sdbの温度を収集する場合)
env.args_sda --all -d ata #追加
env.args_sdb --all -d ata #追加
[root@CentOS ~]# serice munin-node restart

生の状態はmuninでいいのですが、CPUとかHDDの型番等を忘れる時が偶にあります。
/procの配下を調べれば判るのですが、それぞれ見ていくのは面倒です。
なので、一覧表示してくれる「hardinfo」をインストールします。
これは標準リポジトリにはないので、RPMforgeリポジトリからインストールします。
色々と表示されるので、ファイルにリダイレクションしてから見た方がいいかも知れません。

2011/01/18

CentOS5.X 設定 No.17 LVM No.02

「CentOS5.X 設定 No.13 LVM No.01」では、LVMの基礎と失敗について書きました。
今回はLVMのVolume Group(VG)にあるHDDの外し方を書きたいと思います。
まず最初に用語の復習を。
LVM: 正式名称は「Logical Volume Manager」, 日本語としては「論理ボリュームマネージャ」
PE: 正式名称は「Physical Extents」, 日本語としては「物理エクステント」, 最小単位
PV: 正式名称は「Physical Volume」, 日本語としては「物理ボリューム」, 追加されたHDD, PE単位に分割されVGとなる
VG: 正式名称は「Volume Group」, 日本語としては「ボリュームグループ」, パーティションに分割する前の総容量
LV: 正式名称は「Logical Volume」, 日本語としては「論理ボリューム」, VGをパーティションに分けた物

[root@CentOS ~]# pvscan #PVの各使用量
PV /dev/sdb1 VG VolumeX lvm2 [1.82 TB / 0 free]
PV /dev/sdc1 VG VolumeX lvm2 [1.82 TB / 0 free]
PV /dev/sdd1 VG VolumeX lvm2 [1.82 TB / 0 free]
PV /dev/sde1 VG VolumeX lvm2 [1.82 TB / 79.25 GB free]
PV /dev/sdf1 VG VolumeX lvm2 [1.36 TB / 1.36 TB free]
Total: 5 [8.64 TB] / in use: 5 [8.64 TB] / in no VG: 0 [0 ]
[root@CentOS ~]# pvdisplay #PVの詳細
--- Physical volume ---
PV Name /dev/sdX #HDD
VG Name VolumeX #使用されているVG
PV Size X.XXTB / not usable XXX.XX KB #PVとして使用されている容量 / PVとして使用されていない容量
Allocatable yes
PE Size (KByte) 4096 #1PEあたりの容量
Total PE XXXXXX #PEの総数, PV Size = PE Size * Total PE
Free PE XXXXXX #総PE中未使用PE数
Allocated PE 0
PV UUID XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXX
[root@CentOS ~]# vgdisplay #VGの詳細
--- Volume group ---
VG Name VolumeX #VGの名前
System ID
Format lvm2 #ファイルシステム
Metadata Areas 4 #アクティブなPV(HDD)数?
Metadata Sequence No 5 #VGに使用されているPV(HDD)数?
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 5 #VGに使用されているPV(HDD)数?
Act PV 5
VG Size X.XX TB #VGの総容量
PE Size 4.00 MB #1PEサイズ
Total PE XXXXXXX #総PEサイズ
Alloc PE / Size XXXXXXX / X.XX TB #LVとして使用されているPE数 / LVの総容量
Free PE / Size XXXXXX / X.XX TB #未使用PE数 / 空き容量
VG UUID XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXX
[root@CentOS ~]# lvdisplay #LVの詳細
--- Logical volume ---
LV Name /dev/VolumeX/LogVolX #LVの名前
VG Name VolumeX #使用しているVGの名前
LV UUID XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXX
LV Write Access read/write
LV Status available
# open 1
LV Size X.XX TB #LVの総容量
Current LE XXXXXXX #総PE数?
Segments 4 #使用されているPV(HDD)数?
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

現状4発のHDD(sd[abcd])で構成してあるLVMのHDDを交換(sd[abce])してみたいと思います。
順序としては HDD追加 → データの移動 → HDD外す となると思います。
[root@CentOS ~]# pvcreate /dev/sde #新しいHDD(sde)をPVに追加
[root@CentOS ~]# vgextend VolumeX /dev/sde #新しいHDD(sde)をVGに追加
[root@CentOS ~]# pvdisplay #「交換する予定のHDDのAllocated PE」 < 追加したHDDのFree FE」となっている必要がある, (追加したHDDの容量が小さい場合は以下のlvreduceを行う)
[root@CentOS ~]# lvreduce -L X.XXTB /dev/VolumeX/LogVolX #必要であればLVの容量を減らしておく。(追加したHDDの容量が小さい場合)
[root@CentOS ~]# pvmove /dev/sdf1 /devsde1
WARNING: dev_open(/dev/sdf1) called while suspended
Volume group VolumeX metadata is inconsistent
WARNING: dev_open(/dev/sdf1) called while suspended
Volume group VolumeX metadata is inconsistent
ここでエラーが発生した為、以下の方法を試した。
[root@CentOS ~]# vgcfgrestore VolumeX -f /etc/lvm/archive/VolumeX_XXXXX.vg #現在の構成の1つ前くらいを指定
しかしデータが復旧出来ず、500GB程のデータが失われた。
[root@CentOS ~]# vgreduce VolumeX /dev/sdf1 #VolumeXからsdf1を外す
[root@CentOS ~]# pvscan #VGから外れているかどうかを確認
[root@CentOS ~]# pvremove /dev/sdf1 #PVからsdf1を外す
[root@CentOS ~]# pvscan #PVから外れているかどうかを確認
LVMって怖いわ。
やっぱり自分は使うのやめておこう。
頻繁にパーティションを変更することもないし。
容量増加はRAIDでHDD交換で対応します。

2011/01/15

CentOS 5.X 設定 No.15 RPMforgeリポジトリ追加

標準リポジトリには入っていない物を使用したい時には
  • ソースを拾ってきてコンパイル
  • .rpmファイルを拾ってきてインストール
  • リポジトリを追加してインストール
の3つが考えられます。
上から順に簡単な方法です。
なので、今回はリポジトリを追加する方法を書きます。
[root@CentOS ~]# yum -y install yum-priorities #yum-prioritiesインストール
[root@CentOS ~]# vi /etc/yum.repos.d/CentOS-Base.repo #標準リポジトリ設定ファイル編集

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 #追加

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 #追加

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 #追加

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 #追加

[root@CentOS ~]# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt #RPMforgeのGPGキー
[root@CentOS ~]# rpm --import RPM-GPG-KEY.dag.txt
[root@CentOS ~]# rm -f RPM-GPG-KEY.dag.txt
[root@CentOS ~]#wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm #RPMforgeリポジトリをダウンロード
[root@CentOS ~]# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm #RPMforgeリポジトリを追加
これでRPMforgeリポジトリの追加は終わりました。
しかし、このままではyumをする度に参照してしまい、意図しない更新がおきたりやyumが遅くなります。
よって、以下の通りに編集します。
[root@CentOS ~]# vi /etc/yum.repos.d/rpmforge.repo #RPMforgeリポジトリ設定ファイル編集

### Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
#↓変更
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
これで以下のコマンドを打たないとRPMforgeリポジトリを参照しません。
[root@CentOS ~]# yum --enablerepo=rpmforge [オプション] [パッケージ]