CentOS5.1, mogileFS設定

mogileFS運用とか設定とか。

状態のチェック

root# mogadm --trackers=127.0.0.1:7001 check
Checking trackers...
  127.0.0.1:7001 ... OK

Checking hosts...
No devices found on tracker(s).

root# 

mogadmの設定は、/etc/mogilefs/mogilefs.confで指定できます。

使用するstorage nodeサーバーを登録します。

root# mogadm host add localhost --port=7500
root# mogadm check
Checking trackers...
  127.0.0.1:7001 ... OK

Checking hosts...
  [ 1] localhost ... skipping; status = down
No devices found on tracker(s).

root# 

trackerがlocalhostをhost(storage node)として認識しました

deviceを登録します

root# mogadm device add localhost 1
root# mogadm device add localhost 2
root# mogadm device add localhost 3

ディレクトリをつくります

root# cd /var/mogdata
root# mkdir dev1 dev2 dev3
root# mogadm device list
localhost [1]: down
                   used(G) free(G) total(G)
  dev1: down       0.000   0.000   0.000  
  dev2: down       0.000   0.000   0.000  
  dev3: down       0.000   0.000   0.000 
  
root#

storage nodeとして使用するhostとdeviceが準備できたので、使用可能状態にします。

root# mogadm host mark localhost alive
Checking trackers...
  127.0.0.1:7001 ... OK

Checking hosts...
  [ 1] localhost ... OK

Checking devices...
  host device         size(G)    used(G)    free(G)   use%   ob state   I/O%
  ---- ------------ ---------- ---------- ---------- ------ ---------- -----
  [ 1] dev1            17.951      6.829     11.122  38.04%  writeable   0.0
  [ 1] dev2            17.951      6.829     11.122  38.04%  writeable   0.0
  [ 1] dev3            17.951      6.829     11.122  38.04%  writeable   0.0
  ---- ------------ ---------- ---------- ---------- ------
             total:    53.852     20.487     33.365  38.04%


root#

host mark で設定可能な状態は以下の4種類です。

* alive
** 書き込み、読み込み可能。
* down
** 一時的に使用不可。
* dead
** 使用不可。ファイルは別の場所にコピーされている。
* readonly
** 読み込み専用。

domainとclassを設定します

root# mogadm domain add gensokyo
root# mogadm class add gensokyo normal --mindevcount=2
root# mogadm domain list
 domain               class                mindevcount
-------------------- -------------------- -------------
 gensokyo             default                   2
 gensokyo             normal                    2


root#

class は自動コピーする数を管理しています。ファイル作成時に class を指定することで、その class のmindevcount で指定されている数の node でコピーを保存します。default クラスは指定がなかったときに内部的に使われるものです。

この class の設定をいくつか用意することで、

* どうでもいいファイルはコピーなし(mindevcount=0 or1)
* なんらかの操作で再構築可能なファイルは 2 nodes で保存(mindevcount=2)
* 再構築できない重要なファイルは 3 nodes で保存(mindevcount=3)

CentOS5.1, mogileFSインストール

MogileFS

リポジトリ
http://code.sixapart.com/svn/mogilefs/

perl -MCPAN -e shell
cpan> install Net::Netmask
cpan> install Danga::Socket
cpan> install Linux::AIO
#centos5.1で失敗したので、
cpan> install IO::AIO
cpan> install Perlbal
cpan> install MogileFS::Client #※1
cpan> install DBI
cpan> install DBD::mysql

#DBD::mysqlがうまく入らない。

#ソースから日本語対応のtritonn入れていたので、

root# vi /etc/ld.so.conf
/usr/local/mysql/lib/mysql
root# ldconfig
root# cd /usr/local/src
root# svn co http://code.sixapart.com/svn/mogilefs/trunk mogilefs
root# cd mogilefs
root# svn info
リビジョン: 1184

* 配布物
** server
*** tracker, storage node サーバーで必要になるコマンドと Perl モジュールが含まれています。
** api
*** client サーバーで必要になる API が含まれているディレクトリです。現時点では Perl 向け API のみ配布物に含まれています。
** utilities
*** MogileFS の設定・管理に必要なユーティリティコマンド(mogadm)が含まれています。

root# cd server
root# perl Makefile.PL
root# make
root# make install

make testはデータベースへの接続テストがハードコーディングされているのでスキップします。

※1でインストールしてればいらない

root# ../api/perl/MogileFS-Client
root# perl Makefile.PL
root# make
root# make install
root# cd ../utils
root# perl Makefile.PL
root# make
root# make install

対話形式でやります。

root# mogdbsetup 

This will attempt to setup or upgrade your MogileFS database.
It won't destroy existing data.
Run with --help for more information.  Run with --yes to shut up these prompts.

Continue? [N/y]: y

Create database name 'mogilefs'? [Y/n]: Y

Grant all privileges to user 'mogile', connecting from anywhere, to the mogilefs database 'mogilefs'? [Y/n]: Y
root#

一括でやるなら

root# mogdbsetup --dbuser=mogile --dbpass=mogpass --yes

設定ファイル用ディレクトリ

root# mkdir /etc/mogilefs

実際にファイルがおかれるディレクトリ(strage nodeの実態)

root# mkdir /var/mogdata

設定ファイルを編集

* 参考
** http://search.cpan.org/src/BRADFITZ/mogilefs-server-2.17/lib/MogileFS/Config.pm

root# cd /etc/mogilefs
root# touch mogstored.conf
root# touch mogilefsd.conf
root# vi mogilefsd.conf
## tracker (mogilefsd) の設定
# daemonで実行
daemonize = 1

# database
db_dsn = DBI::mysql:mogilefs:host=127.0.0.1
db_user = mogile
db_pass = 

# mogilefsdがclientからの要求を受け付けるポート番号
conf_port = 7001

# clientからの要求を処理するプロセスの数
listener_jobs = 10

root# vi mogstored.conf
## storage node (mogstored) の設定
# httpリクエストを待ち受け付けるIPとポート
httplisten = 0.0.0.0:7500

# Perlbal間利用リクエストを受け付けるIPとポート
mgmtlisten = 0.0.0.0:7501

# docroot
docroot = /var/mogdata

mogilefsdはroot以外で実行する必要があるのでmogilefsdようのユーザーを作成する

root# useradd -s /bin/false mogile

mogstoredとmogilefsdをあげます

root# mogstored --config=/etc/mogilefs/mogstored.conf -d
ERROR: Directory not found for service mogstored
root# mkdir /var/mogdata
root# mogstored --config=/etc/mogilefs/mogstored.conf -d
root# sudo -u mogile mogilefsd

root# netstat -atn
root# ps aux | grep mog

CentOS5.1, OpenVZ設定(その2)

VPS作成

VEIDを使用しているかどうか確認

[root@test1 ~]# vzlist -a VEID

使用できるOSテンプレートの確認(yumでテンプレートを入れている場合)

[root@test1 ~]# vzpkgls
centos-4-i386-default
centos-4-i386-minimal

設定の保存先

/etc/sysconfig/vz/scripts/*VEID*.conf

領域の作成

[root@test1 ~]# vzctl create VEID --ostemplate OSNAME

bootの設定

[root@test1 ~]# vzctl set VEID --onboot yes --save

IPアドレスの設定

[root@test1 ~]# vzctl set VEID --ipadd IP --save

ホスト名の設定

[root@test1 ~]# vzctl set VEID --hostname HOSTNAME --save

ネームサーバーの設定

[root@test1 ~]# vzctl set VEID --nameserver NAMESERVER --save

ディスクスペースを10GB

[root@test1 ~]# vzctl set 101 --diskspace 10GB:10GB --save

メモリの割当

[root@test1 ~]# vzctl set vpsid --vmguarpages 65536 --save 
[root@test1 ~]# vzctl set vpsid --privvmpages 262144 --save

メモリの容量をわざわざ計算するのではなくもっと直観的に「ページ」単位でこの設定を行う別の方法がSWsoftのフォーラムに記されていた。設定したいメモリ容量(MB)に256をかけるだけで正しい値が得られるというものだ。

[root@test1 ~]# vzctl set vpsid --vmguarpages $((256 * 256)) --save 
[root@test1 ~]# vzctl set vpsid --privvmpages $((256 * 1024)) --save

メモリが足りないか?ディスクスペースは大丈夫か?などの情報が以下にある。このなかで、1つでもfaildがあるようなら、その項目をvzctl setで値を増やすといい。

[root@test1 ~]# vzctl exec VEID cat /proc/user_beancounters

VPS開始

[root@test1 ~]# vzctl start VEID

*補足*

VPSの起動時VPS設定ファイルに基づいてVPS内のネットワーク環境がOpenVZ/vzctlによって自動的に構築されます。

例えば下記ファイルが設定されます。

・/etc/sysconfig/networkへのVPSのゲートウェイアドレスやホスト名の設定
・/etc/sysconfig/network-scripts/ifcfg-venet0とifcfg-venet0:0の設定
・/etc/resolv.confの設定
・/etc/hostsへのVPSホスト名設定
vi /etc/hosts
10.1.1.1    hostname


VEID=101
OSNAME=centos-4-i386-default or centos-4-i386-minimal
IP=10.1.2.3
HOSTNAME=hostname

VPS内のコマンド実行

[root@test1 ~]# vzctl exec VEID COMMAND

VPSのrootパスワード変更

[root@test1 ~]# vzctl exec VEID passwd
 New UNIX password: ***
 Retype new UNIX password: ***
 Changing password for user root.
 passwd: all authentication tokens updated successfully.

VPS内のプロセス確認

[root@test1 ~]# vzctl exec VEID ps ax

状態表示

[root@test1 ~]# vzctl status VEID
[root@test1 ~]# vzlist VEID

中に入る

[root@test1 ~]# vzctl enter VEID

出る

[root@vps ~]# exit

VPS停止

[root@test1 ~]# vzctl stop VEID

VPS再起動

[root@test1 ~]# vzctl restart VEID

VPS削除

[root@test1 ~]# vzctl destroy VEID

CPU使用率の制限等

[root@test1 ~]# vzctl set VEID --cpuunits 1500 --cpulimit 4 --save

VPS内のパッケージをアップデートする

[root@test1 ~]# vzyum VEID update

VPSにパッケージをインストールする

[root@test1 ~]# vzyum VEID install PACKAGE
[root@test1 ~]# vzrpm VEID -ivh PACKAGE

-VPS内にyumをインストールする手もあるが、デフォルトでないのには何か理由があると思うので、VPS内にyumはインストールしない。インストールする場合はVPS内でrpmからyumをインストールする。-

最新のcentos5用テンプレートではyumが使えるようになっていました。

CentOS5.1, OpenVZ設定(その1)

OpenVZ設定

ユーティリティのインストール

[root@test1 ~]# yum install vzctl vzquota

これも

[root@test1 ~]# yum install vzpkg vzyum vzrpm43-python vzrpm44-python

OSテンプレートを検索してインストールする場合

[root@test1 ~]# yum search vztmpl
[root@test1 ~]# yum install vztmpl-centos-4
[root@test1 ~]# vzpkgcache centos-4-i386-default

CentOS5がyumで無かったので、別途ダウンロードしました。

※最新のテンプレートならyumが入ってました。

http://wiki.openvz.org/Download/template/precreated

[root@test1 ~]# cd /vz/template/cache
[root@test1 ~]# wget http://download.openvz.org/template/precreated/contrib/centos-5-i386-default.tar.gz

CentOS5.1, OpenVZインストール

repoを用意します。

[root@test1 etc]# cd yum.repos.d/
[root@test1 yum.repos.d]# ls
CentOS-Base.repo
[root@test1 yum.repos.d]# wget http://download.openvz.org/openvz.repo
--07:39:14--  http://download.openvz.org/openvz.repo
           => `openvz.repo'
07:39:15 (1.79 MB/s) - `openvz.repo'[2179/2179]
[root@test1 yum.repos.d]# ls
CentOS-Base.repo  openvz.repo
[root@test1 yum.repos.d]# rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ

openVZをインストールします。

[root@test1 yum.repos.d]# yum install ovzkernel

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 lksctp-tools            i386       1.0.2-6.4E.1     installed         144 k
Removing for dependencies:
 lksctp-tools-devel      i386       1.0.2-6.4E.1     installed         137 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       2 Package(s)
Total download size: 0
Is this ok [y/N]: y
[root@test1 ~]# yum install ovzkernel

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 ovzkernel               i686       2.6.18-53.1.6.el5.028stab053.6  openvz-kernel-rhel5   17 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 17 M
Is this ok [y/N]: y

grub.confを編集してOpenVZが起動するようにします。

[root@test1 ~]# cd /boot/grub/
[root@test1 grub]# vi grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.18-53.1.6.el5.028stab053.6)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.1.6.el5.028stab053.6 ro root=/dev/sda5
        initrd /initrd-2.6.18-53.1.6.el5.028stab053.6.img
title CentOS-4 i386 (2.6.9-34.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-34.EL ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.9-34.EL.img

sysctl.confを編集します。

[root@test1 grub]# cd /etc/
[root@test1 etc]# vi sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Controls source route verification
net.ipv4.conf.all.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

kernel.ve_allow_kthreads = 1

selinuxを起動しないようにします。

[root@test1 etc]# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

modprobe.confを編集します。

[root@test1 etc]# vi /etc/modprobe.conf

alias eth0 e1000
alias eth1 e1000
alias scsi_hostadapter aic7xxx
alias usb-controller ohci-hcd
options ip_conntrack ip_conntrack_enable_ve0=1

OSを再起動。

CentOS, LVM設定

※以下はデフォルトインストール。テキストインストールだと初期インストール時にLVMの設定ができない。

内容的にDRBDやろうとしているので、所々おかしな所があるかも。

[root@test1 ~]# fidsk -l

Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        4863    38957625   8e  Linux LVM
[root@test1 ~]#lvdisplay 
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                2D4hR8-DwGH-K2fh-Hhqq-qurQ-rEFx-U0exUM
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                36.12 GB
  Current LE             1156
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                N0oNsZ-yu8w-WjXN-28V4-0eTO-iQyx-2NZGBO
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.00 GB
  Current LE             32
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:1
[root@test1 ~]#lvextend -L -5G /dev/VolGroup00/LogVol00

※以下ドライブに空きがある状態

パーテーションをきる

[root@test1 ~]# fdisk -l

Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        2563    20482875   8e  Linux LVM

[root@test1 ~]# fdisk /dev/hda
コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): p

Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        2563    20482875   8e  Linux LVM

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 3
最初 シリンダ (2564-4863, default 2564): 
Using default value 2564
終点 シリンダ または +サイズ または +サイズM または +サイズK (2564-4863, default 4863): 3500

コマンド (m でヘルプ): t
領域番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): L

 0  空             1e  Hidden W95 FAT1 80  古い Minix    be  Solaris boot   
 1  FAT12           24  NEC DOS         81  Minix / 古い  bf  Solaris        
 2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 隠し C:  c6  DRDOS/sec (FAT-
 5  拡張領域    41  PPC PReP Boot   85  Linux 拡張領 c7  Syrinx         
 6  FAT16           42  SFS             86  NTFS ボリュ  da  非 FS デー  
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS ボリュ  db  CP/M / CTOS / .
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell ユーテ 
 9  AIX ブート   4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 a  OS/2 ブート  50  OnTrack DM      93  Amoeba          e1  DOS access     
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor      
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad    eb  BeOS fs        
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT        
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  隠し FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC  
12  Compaq 診断   5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
14  隠し FAT16 <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
16  隠し FAT16    63  GNU HURD また ab  Darwin boot     f2  DOS セカン  
17  隠し HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid 自 
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワッ  fe  LANstep        
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  隠し Boot Wiz ff  BBT            
1c  Hidden W95 FAT3 75  PC/IX

16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。

[root@test1 ~]# fdisk -l

Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        2563    20482875   8e  Linux LVM
/dev/hda3            2564        3500     7526452+  8e  Linux LVM

PVを作成する。PV(physical volume)

[root@test1 ~]# pvcreate /dev/hda3
  Physical volume "/dev/hda3" successfully created
# 成功しなかったらrebootしてみるといい。

[root@test1 ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/hda2
  VG Name               VolGroup00
  PV Size               19.53 GB / not usable 2.81 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              625
  Free PE               0
  Allocated PE          625
  PV UUID               E6RxZf-5b0J-lBNV-XpV5-z4pF-Gzga-aWc6ua
   
  --- NEW Physical volume ---
  PV Name               /dev/hda3
  VG Name               
  PV Size               7.18 GB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               G0Q6Q2-ApRM-I1MG-sO4E-gCg5-QPOY-trsazE
   

VGを作成。VG(Volume Group)

[root@test1 ~]# vgdisplay 
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.53 GB
  PE Size               32.00 MB
  Total PE              625
  Alloc PE / Size       625 / 19.53 GB
  Free  PE / Size       0 / 0   
  VG UUID               o7aeWf-vEdC-cLIp-TL7U-1D2c-L7gt-fi3bh8
   
[root@test1 ~]# 

#デフォルトのPE(physical extentが4MBなので32MBにしてVG作成
[root@test1 ~]# vgcreate -s32m VGmaster00 /dev/hda3
  Volume group "VGmaster00" successfully created
[root@test1 ~]# vgdisplay 
  --- Volume group ---
  VG Name               VGmaster00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.16 GB
  PE Size               32.00 MB
  Total PE              229
  Alloc PE / Size       32 / 1.00 GB
  Free  PE / Size       197 / 6.16 GB
  VG UUID               ng1X3n-ir0W-l8cn-xGiq-iS2i-TcxV-ZAHw7M
   
  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.53 GB
  PE Size               32.00 MB
  Total PE              625
  Alloc PE / Size       625 / 19.53 GB
  Free  PE / Size       0 / 0   
  VG UUID               o7aeWf-vEdC-cLIp-TL7U-1D2c-L7gt-fi3bh8
   

LVの作成。LV(logical volume)作成

[root@test1 ~]# lvcreate -L 1G -n drbd VGmaster00
  Logical volume "drbd" created
[root@test1 ~]# 
[root@test1 ~]# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/VGmaster00/drbd
  VG Name                VGmaster00
  LV UUID                njW0nV-B2NE-G4k8-R9u5-pkP8-Ry05-gfODT9
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                1.00 GB
  Current LE             32
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:2
   
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                VR3Vor-2PoA-GpDs-45XD-E4Lk-tJsT-OQFjH5
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                18.53 GB
  Current LE             593
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                cYDq0d-leXg-e8Zu-3H1N-Ll2Q-rEii-U3FZFy
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.00 GB
  Current LE             32
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:1
   

LVの中にファイルシステムを作成

[root@test1 ~]# mkfs.ext3 -f /dev/VGmaster00/drbd 
mkfs.ext3: invalid fragment size - /dev/VGmaster00/drbd
# 失敗・・別の方法でフォーマット
[root@test1 ~]# mke2fs -j /dev/VGmaster00/drbd 
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@test1 ~]# 

マウントポイント作成してマウント

[root@test1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefsfo-matto
[root@test1 ~]# mkdir /store
[root@test1 ~]# ls /store
[root@test1 ~]# ls /
bin   dev  home  lost+found  misc  net  proc  sbin     srv    sys  usr
boot  etc  lib   media       mnt   opt  root  selinux  store  tmp  var
[root@test1 ~]# mount /dev/VGmaster00/drbd /store
[root@test1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/mapper/VGmaster00-drbd on /store type ext3 (rw)
[root@test1 ~]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                       18G  1.9G   16G  11% /
/dev/hda1              99M   12M   83M  13% /boot
tmpfs                 252M     0  252M   0% /dev/shm
/dev/mapper/VGmaster00-drbd
                     1008M   34M  924M   4% /store

再起動時のLVを自動マウントさせる設定

[root@test1 ~]# cat /etc/fstab 
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    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
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
[root@test1 ~]# vi /etc/fstab
[root@test1 ~]# cat /etc/fstab 
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    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
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/VGmaster00/drbd    /store                  ext3    defaults        1 2

最初からやるなら、自動でLV調整

そうでなければ以下の手順

  1. vgscanでVGを再構成。
  2. vgchangeで利用可能状態(active)にする。

CentOSネットワークインストール

よく忘れるのでメモ。

  1. ブート用CDイメージ(boot.iso)のダウンロード(http://ftp.riken.jp/Linux/centos/5.1/os/i386/images/)
  2. ダウンロードしたイメージをCDに焼く
  3. 焼いたCDでCDブート
  4. boot:という画面が出てきたらそのままENTERを押す
  5. Choose a Languageという画面でJapaneseを選択
  6. Keyboard Typeという画面でjp106を選択
  7. Installation MethodでHTTPを選択
  8. Configure TCP/IPではIPv6の設定は無効にしてOK
  9. HTTP SetupのWebサイト名を「ftp.riken.jp」に
  10. HTTP SetupのDirectoryを「Linux/centos/5.1/os/i386」に