ストレージサーバを構築するに当たりOSをインストールします。
私の大好きなGentoo Linuxを使いますが、情報が古いので気をつけてください。
また、IPアドレス等は適宜読み替えてください。
install-amd64-minimal-2007.0.iso でCDブートすると、
途中キーボードの種類をたずねられるので接続しているキーボードに合わせて選択ます。
一般的な日本語(106)キーボードなら"22"(jp)を選択する。
立ち上がったら以下を実行します。
# ifconfig eth0 192.168.0.100 broadcast 192.168.0.255 netmask 255.255.255.0 upこれ以降はssh経由でのリモートログインが可能なので
# route add default gw 192.168.1.1
# echo 'nameserver 192.168.1.1' >> /etc/resolv.conf
# passwd
# /etc/init.d/sshd start
そちらで操作することをお勧めします。
ちなみにアクセスするときは
$ ssh root@192.168.0.100とする必要があります。
さて、パーティションを切ります。
# cfdisk /dev/sdaを実行し以下のように設定することにします。
Name Flags Part Type FS Type [Label] Size (MB)以下を実行ます。
------------------------------------------------------------------------------
sda1 Boot Primary Linux 131.61
sda2 Primary Linux swap / Solaris 2048.10
sda3 Primary Linux 31445.25
sda5 Logical Linux 32769.52
sda6 Logical Linux 32769.52
sda7 Logical Linux 32769.52
sda8 Logical Linux 32761.30
# mke2fs /dev/sda1以下のコマンドで時刻を確かめておきます。
# mkswap /dev/sda2
# swapon /dev/sda2
# mke2fs -j /dev/sda3
# mke2fs -j /dev/sda5
# mke2fs -j /dev/sda6
# mke2fs -j /dev/sda7
# mke2fs -j /dev/sda8
# tune2fs -c 0 -i 0 /dev/sda1
# tune2fs -c 0 -i 0 /dev/sda3
# tune2fs -c 0 -i 0 /dev/sda5
# tune2fs -c 0 -i 0 /dev/sda6
# tune2fs -c 0 -i 0 /dev/sda7
# tune2fs -c 0 -i 0 /dev/sda8
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
# mkdir /mnt/gentoo/usr
# mount /dev/sda5 /mnt/gentoo/usr
# mkdir /mnt/gentoo/home
# mount /dev/sda6 /mnt/gentoo/home
# mkdir /mnt/gentoo/var
# mount /dev/sda7 /mnt/gentoo/var
# mkdir /mnt/gentoo/opt
# mount /dev/sda8 /mnt/gentoo/opt
# date時計があっていなければ date コマンドで時刻を合わせます。
以下を実行ます。
# cd /mnt/gentoo/mnt/gentoo/etc/make.conf を
# wget ftp://rsync4.jp.gentoo.org/GENTOO/releases/amd64/2007.0/stages/stage3-amd64-2007.0.tar.bz2
# wget ftp://rsync4.jp.gentoo.org/GENTOO/releases/amd64/2007.0/stages/stage3-amd64-2007.0.tar.bz2.DIGESTS
# md5sum -c stage3-amd64-2007.0.tar.bz2.DIGESTS
# tar jxfp stage3-amd64-2007.0.tar.bz2
# wget http://gentoo.gg3.net/snapshots/portage-latest.tar.bz2
# wget http://gentoo.gg3.net/snapshots/portage-latest.tar.bz2.md5sum
# md5sum -c portage-latest.tar.bz2.md5sum
# tar jxf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
# nano -w /mnt/gentoo/etc/make.confで開き、
CFLAGS="-O2 -pipe"を
CFLAGS="-march=nocona -O2 -pipe"へ変更。
MAKEOPTS="-j3"を追加。
# mirrorselect -i -o >> /mnt/gentoo/etc/make.confを実行するとサーバリストが表示されるので、Japanなものをとりあえずすべて選択。
以下を実行します。
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
# emerge --sync --quiet
# echo 'en_US ISO-8859-1' >> /etc/locale.gen
# echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
# echo 'ja_JP.EUC-JP EUC-JP' >> /etc/locale.gen
# echo 'ja_JP.UTF-8 UTF-8' >> /etc/locale.gen
# echo 'ja_JP EUC-JP' >> /etc/locale.gen
# locale-gen
# cp /usr/share/zoneinfo/Japan /etc/localtime
# USE="-doc symlink" emerge gentoo-sources
# cd /usr/src/linux
# make menuconfigでカーネルのカスタマイズができるのでProcessor type and features --->
Processor family (Intel Core2 / newer Xeon) --->
/dev/cpu/microcode - Intel CPU microcode support
Device Drivers --->
Multi-device support (RAID and LVM) --->
RAID support
RAID-0 (striping) mode
RAID-1 (mirroring) modeのように変更します。
以下を実行します。# make && make modules_install/etc/fstab の内容を
# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.22-gentoo-r5
# find /lib/modules/2.6.22-gentoo-r5/ -type f -iname '*.o' -or -iname '*.ko'
# echo 'raid0' >> /etc/modules.autoload.d/kernel-2.6
# echo 'raid1' >> /etc/modules.autoload.d/kernel-2.6# nano -w /etc/fstabを実行して以下のように変更します。/dev/sda1 /boot ext2 noauto,noatime 1 2/etc/conf.d/hostname の内容を
/dev/sda3 / ext3 noatime 0 1
/dev/sda2 none swap sw 0 0
/dev/cdrom /mnt/cdrom audo noauto,ro 0 0
/dev/sda5 /usr ext3 noatime 0 2
/dev/sda6 /home ext3 noatime 0 2
/dev/sda7 /var ext3 noatime 0 2
/dev/sda8 /opt ext3 noatime 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
none /proc proc defaults 0 0# nano -w /etc/conf.d/hostnameを実行してHOSTNAME="localhost"をHOSTNAME="hoge"に変更します。/etc/conf.d/domainname の内容を# nano -w /etc/conf.d/domainnameを実行してDNSDOMAIN="hoge.com"を追加する。/etc/conf.d/net の内容を# nano -w /etc/conf.d/netを実行してconfig_eth0=( "192.168.1.100 netmask 255.255.255.0 brd 192.168.1.255")を追加します。
routes_eth0=( "default gw 192.168.1.1" )# nano -w /etc/hostsを実行して127.0.0.1 localhostの行を127.0.0.1 hoge.hoge.com hoge localhostに変更します。/etc/conf.d/keymaps の内容を# nano -w /etc/conf.d/keymapsを実行してKEYMAP="us"の行をKEYMAP="jp106"に変更します。/etc/conf.d/clock の内容を# nano -w /etc/conf.d/clockを実行してCLOCK="UTC"の行をCLOCK="local"に変更します。
以下を実行します。# rc-update add net.eth0 default/boot/grub/grub.conf の内容を
# echo "tts/0" >> /etc/securetty
# passwd
# emerge syslog-ng
# rc-update add syslog-ng default
# emerge vixie-cron
# rc-update add vixie-cron default
# rc-update add sshd default
# emerge grub# nano -w /boot/grub/grub.confを実行して以下のように変更します。default 0/etc/inittab の内容を
timeout 10
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title=gentoo
root (hd0,0)
kernel /boot/kernel-2.6.22-gentoo-r5 root=/dev/sda3# nano -w /etc/inittabを実行してs0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100を追加(コメントアウト)し、ca:12345:ctrlaltdel:/sbin/shutdown -r nowをca:12345:ctrlaltdel:/sbin/shutdown -h nowに直します。
以下を実行します。# grep -v rootfs /proc/mounts > /etc/mtabブート時にCDは取り出してHDDからブートさせます。
# grub-install /dev/sda
# exit
# cd
# umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot
# umount /mnt/gentoo/usr /mnt/gentoo/home /mnt/gentoo/var /mnt/gentoo/opt
# umonnt /mnt/gentoo
# reboot
以下を実行ます。# useradd -m -G users,wheel -s /bin/bash ttanimu
# passwd ttanimu
# emerge app-editors/vim
# emerge app-arch/dump
# emerge sys-fs/mdadm
# rc-update add mdadm default# cfdisk /dev/sdbを実行し以下のように設定します。
ただし、FS Type の Linux raid autodetect の値は fd です。Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------------
sdb1 Primary Linux raid autodetect 209999.63
sdb2 Primary Linux raid autodetect 110070.70# cfdisk /dev/sdcを実行し以下のように設定します。Name Flags Part Type FS Type [Label] Size (MB)以下を実行します。
------------------------------------------------------------------------------
sdc1 Primary Linux raid autodetect 209999.63
sdc2 Primary Linux raid autodetect 110070.70# mknod /dev/md1 b 9 1/etc/ssmtp/ssmtp.conf の内容を
# mknod /dev/md2 b 9 2
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
# mdadm --create --verbose /dev/md2 --level=0 --raid-devices=2 /dev/sdb2 /dev/sdc2
# mke2fs -j /dev/md1
# mke2fs /dev/md2
# tune2fs -c 0 -i 0 /dev/md1
# tune2fs -c 0 -i 0 /dev/md2
# cd /mnt
# mkdir storage
# mkdir backup
# emerge mail-mta/ssmtp
# echo 'MAILADDR admin@hoge.com' >> /etc/mdadm.conf# vi /etc/ssmtp/ssmtp.confを実行してmailhub=mailの行をmailhub=192.168.0.1に変更します。/etc/fstab の内容を# vi /etc/fstabを実行して/dev/md1 /mnt/storage ext3 noatime 0 2の2行を追加します。以下を実行します。
/dev/md2 /mnt/backup ext2 noatime 0 2# rebootRAIDのフェールセーフの動作を確認しておきたければ、# cat /proc/mdstatでmd1(raid1)のresyncが100%になるまで待ち、# mdadm /dev/md1 --fail /dev/sdb1を実行してRAID1にわざと障害を起こして
"admin@hoge.com"宛てに通知メールが届くことを確認します。
その後# mdadm /dev/md1 --remove /dev/sdb1を実行し回復させ、
# mdadm /dev/md1 --add /dev/sdb1# cat /proc/mdstatでmd1(raid1)のrecoveryが100%になるまで一応待ち、完了です。
0 件のコメント:
コメントを投稿