/dev/hda hda1 /boot ext3 102MB hda2 swap 1992MB 空き 自由領域 236378MB /dev/hdb hdb1 / ext3 238473MB以下のように変更。
/dev/hda hda1 /boot ext3 102MB hda3 / ext3 234378MB hda2 swap 3993MB /dev/hdbいつもパーティションどうわけるか迷うけど、 ミラーリングしていれば/1個で大丈夫でしょう。
hdb1 ソフトウェアRAID 238473MB
search ***.***.go.jp
nameserver ***.***.***.***
nameserver ***.***.***.***
NETWORKING=yes
HOSTNAME=nebula01
scsi1 : SCSI emulation for USB Mass Storage devices Vender: I-O DATA Model: USB Flash Disk Rev: BB03 Type: Direct-Access ANSI SCSI revision: 02 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2 USB Mass Storage support registered. Attached scsi removal disk sda at scsi1, channel 0, id 0, lun 0 SCSI device sda: 1989632 512-byte hdwr sctors (1019MB) sda: Write Protect is off sda: sda1sda1になっている。 マウントポイントを作ってこいつをマウント。
mount -t vfat /dev/sda1 /mnt/usbfmファイルをコピー、展開。 READMEのとおり./autorun.shしてみると autoconf.hとかがないと起こられる。 Makefile_linux24xを適当に書き換えて再び./autorun.sh。 まだエラー。とりあえず今日は終了。
r8168_n.c:693: structureに'dev'という名前のメンバはありません
とか、r8168_n.c:693: 警告: 関数 'dev_printk'の暗黙の宣言
とかいわれる。 とりあえずdev_printkってどうせメッセージを出すだけだろう、と思って怒ら れているとこをコメント。 警告をいわれるけどとりあえずコンパイル通った! /etc/modules.confに以下を追加alias eth0 r8168
その後
/etc/init.d/network stop
depmod -av
modprobe r8168
/etc/init.d/network start
ifconfig eth0 up
アクティベイト。 再起動して見るとifconfigしてもeht0いない。まだ何かたりない。。。 とりあえず/etc/resolv.confと/etc/sysconfig/networkを変更。 あと/etc/sysconfig/network-script/ifcfg-eth0 を以下のように作成DEVICE=eth0 BOOTPROTO=dhcp TYPE=Ethernet DHCP_HOSTNAME=nebula01/etc/init.d/network restart するとつながった!!! rebootとするとNICの設定に切り替わる。とりあえずDHCPにしておく。 "nebula01.***.***のURLが見つかりませんでした。"みたいなメッセージ。 domainnameが変なのかな?まあ今度で。 これで勝手にeth0がアクティベイトになってNETも使える。おつかれ! 結局最終的には/etc/sysconfig/network-script/ifcfg-eth0は以下のようにし た。
# Realtek Semiconductor Co., Ltd.|RTL8111/8168B PCI Express Gigabit Ethernet controller DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp HWADDR=6C:F0:49:50:85:70 DHCP_HOSTNAME=nebula01.***.jpこれで他のマシンからもログインできる。 ただXを起動するとnebula01のURLが見つかりませんでした。 とか怒られる。/etc/hostsファイルにnebula01を追加することでこの問題を解 決できる場合があります。 といわれるので/etc/hostsを以下のように編集。
127.0.0.1 localhost.localdomain nebula01 localhostこれで怒られなくなる。
# graphical login #id:5:initdefault: # text login id:3:initdefault:
Personalities : read_ahead not set Event: 0 unused devices:うーん。できてないね。手動でやっても良いが、インストールしなおした方が 速いか?
デバイス Mount タイプ 容量 開始 終了 Point RAIDデバイス /dev/md0 /boot ext3 101.944 /dev/md1 swap 3992.72 /dev/md2 / ext3 234378 ハードディスク /dev/hda /dev/hda1 /dev/md0 ソフトウェアRAID 102 1 13 /dev/hda1 /dev/md2 ソフトウェアRAID 234378 14 29892 /dev/hda1 /dev/md1 ソフトウェアRAID 3993 29893 30401 /dev/hdb /dev/hda1 /dev/md0 ソフトウェアRAID 102 1 13 /dev/hda1 /dev/md2 ソフトウェアRAID 234378 14 29892 /dev/hda1 /dev/md1 ソフトウェアRAID 3993 29893 30401インストール後は以下のとおり。
df -m Filesystem 1M-ブロック 使用 使用可 使用% マウント位置 /dev/md2 230699 5673 213308 3% / /dev/md0 99 15 80 16% /boot none 1004 0 1004 0% /dev/shm cat /proc/mdstat Personalities : [raid1] read_ahead 1024 sectors Event: 3 md1 : active raid1 hda3[0] hdb3[1] 4088448 blocks [2/2] [UU] md2 : active raid1 hda2[0] hdb2[1] 240002944 blocks [2/2] [UU] md0 : active raid1 hda1[0] hdb1[1] 104320 blocks [2/2] [UU]dmesgでは
kmod: failed to exec /sbin/modprobe -s -k md-personality-3, errno = 2 md: personality 3 is not loaded!とかでているが、/proc/mdstat見る限りではraid1組めてるっぽいので良い事に する。
yum updateとしてとりあえず走らせてみる。 カーネルさんが更新された(version 2.4.21-63.ELsmpになった)。 なので再びネットワークデバイスのドライバを入れないとね。
#!/bin/sh # shell script to expand the tar.gz files # DIR=2004-tgz/slc_ia32_gcc323 # for i in $DIR/*.tar.gz do echo $i tar zxf $i doneこのあと
cd /cern ln -s 2004 pro /cern/pro/bin/paw /cern/pro/bin/pawX11: error while loading shared libraries: libshift.so: cannot open shared object file: No such file or directoryといわれる。libshift.soはどうしたら良いんかよくわからん。。。
#!/bin/sh # LIST='src_car.tar.gz src_Imakefile.tar.gz src_cfortran.tar.gz src_cmz.tar.gz src_config.tar.gz src_geant321.tar.gz src_graflib.tar.gz src_include.tar.gz src_mathlib.tar.gz src_mclibs.tar.gz src_packlib.tar.gz src_patchy.tar.gz src_pawlib.tar.gz src_phtools.tar.gz src_scripts.tar.gz' URL=http://cernlib.web.cern.ch/cernlib/download/2004_source/tar # for i in $LIST do echo "$URL/$i" wget "$URL/$i" done #CERNLIBのINSTALLのところにある以下のようなshell scriptを適当に編集。 (ファイルの展開は一度やったらコメントに)
#!/bin/sh # script-2004-src.sh # Unpack the source files and set up the build structure, e.g. # /tmp/cernlib/2003/src (and lib) list=`ls 2004-tgz/src-tgz/src_*.gz` for ffile in $list do echo $ffile gunzip -c $ffile | tar xf - done # Establish the environment variables for the build procedures # Depending on the system, other directories may need to be added to # the PATH # e.g. for the build tools and alternative compilers. CERN_LEVEL=`gunzip -c 2004-tgz/src-tgz/src_Imakefile.tar.gz | tar tf - | awk -F/ '{print $1}'` CERN=`pwd` CERN_ROOT=$CERN/$CERN_LEVEL CVSCOSRC=$CERN/$CERN_LEVEL/src PATH=$CERN_ROOT/bin:$PATH echo $CERN_LEVEL echo $CERN echo $CERN_ROOT echo $PATH export CERN export CERN_LEVEL export CERN_ROOT export CVSCOSRC export PATH # Create the build directory structure cd $CERN_ROOT mkdir -p build bin lib build/log # Create the top level Makefile with imake cd $CERN_ROOT/build $CVSCOSRC/config/imake_boot # Install kuipc and the scripts (cernlib, paw and gxint) in $CERN_ROOT/bin gmake bin/kuipc > log/kuipc 2>&1 gmake scripts/Makefile cd scripts gmake install.bin > ../log/scripts 2>&1 # Install the libraries cd $CERN_ROOT/build gmake > log/make.`date +%m%d` 2>&1これでexecutableファイルが/cern/2004/bin/につくられる。 pawlibはliblapack, libblasに依存しているということなので、 これらは上のバイナリでとってきたものを/cern/2004/lib/にリンクを はっておく。 このあと以下のようなスクリプトを作ってexecutablesを作る。
#!/bin/sh CERN_LEVEL=`gunzip -c 2004-tgz/src-tgz/src_Imakefile.tar.gz | tar tf - | awk -F/ '{print $1}'` # CERN=`pwd` CERN_ROOT=$CERN/$CERN_LEVEL CVSCOSRC=$CERN/$CERN_LEVEL/src PATH=$CERN_ROOT/bin:$PATH # export CERN export CERN_LEVEL export CERN_ROOT export CVSCOSRC export PATH cd $CERN_ROOT/build/pawlib gmake install.bin cd $CERN_ROOT/build/packlib gmake install.binそうするとpawが動くようになった! ちなみにcernlibのページにあるようにtestしてみると以下のように怒られる。
Linking with cern libraries gmake[3]: cernlib: コマンドが見つかりませんでした gmake[3]: *** [ptest1_32] エラー 127うーん。
cd /usr/local/anapaw/Setup csh source setupanapaw cd ../src/ make clean make make install cd vana/ make clean makeこれでとりあえず本体のライブラリができた。
[root@nebula01 nbbq-may20-2009]# ./config *********** NBBQ Configure *********** Version Dec 14, 2007 H.Baba Kernel 2.6? [n] : Use Debian? [n] : Use default settings? [y] : Use CAMAC? [y] : n Use VME? [y] : y Choose VME Controllers. Bit3 SBS 618/620? [y] : y Wiener VMEMM? [y] : n Advanet Advme 8001? [y] : n CAEN V2718? [y] : n VMIVME 7807? [y] : n Use NBBQVIO (driver for cmdvme)? [y] : y Use on-line analys? [y] : y [root@nebula01 nbbq-may20-2009]#あとは/usr/src/linuxのリンクを作っておく。現在のカーネルは /usr/src/linux-2.4にリンクが貼ってあるので、さらにこれを/usr/src/linux にリンクしておく。 このあとmake clean, make, make installで問題なくできた。 別のクレートコントローラーを使う時にはconfigやり直して、make updateを する必要あり。 .bashrcにパスを通しておく。 以下はメモ
[root@nebula01 root]# /etc/init.d/nbbq start /usr/nbbq/bb-sbs620/bb-sbs620.o: init_module: No such device OK ] Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters. You may find more information in syslog or the output from dmesg /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_vwrite32 /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_vread32 /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_vread16 /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_set_amsr /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_get_irq /usr/nbbq/nbbqvio/nbbqvio.o: unresolved symbol sbs620_vwrite16こんなん。dmesgをみると
SBS620 Can't find.といわれている。SBS-620をPCとつないでおかないと駄目なんですね。
[root@nebula01 nebula]# mdadm --misc --stop /dev/md4 mdadm: stopped /dev/md4この後、一旦電源を切ってデータ保存用/ridfにしていたHDDをとる。 システム同期用のHDDを接続してPC起動。 余計なデータを同期する前に消す。 次にシステムの入っているHDDの再同期。 まずはパーティションの確認
[root@sdaq14 test-2011aug]# fdisk -l /dev/sda Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 fd Linux raid autodetect /dev/sda2 14 535 4192965 fd Linux raid autodetect /dev/sda3 536 13590 104864287+ fd Linux raid autodetect /dev/sda4 13591 60801 379222357+ 5 Extended /dev/sda5 13591 60801 379222326 fd Linux raid autodetectこれを真似して/dev/sdbにパーティションを切る。
[root@sdaq14 test-2011aug]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 60801. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-60801, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-60801, default 60801): 13これらの操作を繰返して
Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 13 104391 83 Linux /dev/sdb2 14 535 4192965 83 Linux /dev/sdb3 536 13590 104864287+ 83 Linux /dev/sdb4 13591 60801 379222357+ 5 Extended /dev/sdb5 13591 60801 379222326 83 Linuxとなるようにする。次にRAIDの設定。
Command (m for help): t Partition number (1-5): 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect)の操作を繰返す。あとブートフラグをつける。
Command (m for help): a Partition number (1-5): 1最終的に
Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 * 1 13 104391 fd Linux raid autodetect /dev/sdb2 14 535 4192965 fd Linux raid autodetect /dev/sdb3 536 13590 104864287+ fd Linux raid autodetect /dev/sdb4 13591 60801 379222357+ 5 Extended /dev/sdb5 13591 60801 379222326 fd Linux raid autodetectとなればよい。OKなら書き込む。
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.最後にraidに参加させる。
[root@sdaq14 test-2011aug]# mdadm /dev/md0 --add /dev/sdb1 mdadm: added /dev/sdb1 [root@sdaq14 test-2011aug]# mdadm /dev/md1 --add /dev/sdb2 mdadm: added /dev/sdb2 [root@sdaq14 test-2011aug]# mdadm /dev/md2 --add /dev/sdb3 mdadm: added /dev/sdb3 [root@sdaq14 test-2011aug]# mdadm /dev/md3 --add /dev/sdb5 mdadm: added /dev/sdb5これで再同期が始まる。/proc/mdstatで同期の様子が見れる。 次に新しく追加したHDDだけでブートできるかどうかチェック。 だめ。以下をやらないといけない。
[root@sdaq14 nebula]# /sbin/grub GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename.] grub> root (hd1,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd1) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub .conf"... succeeded Done.これで追加したHDD単体でも起動可能である事を確認。ただしそれをやると再 び同期する必要がある。homeの部分は350GBの容量があって再同期に1時間くらい。 次にデータ用HDD。fdiskで同じようにパーティションテーブルを作成。その後 以下のコマンドで/dev/md4に割り当てる。
[root@sdaq14 nebula]# mdadm --create /dev/md4 --level=raid1 --raid-devices=2 /dev/sdc1 /dev/sdd1 mdadm: array /dev/md4 started.同期が始まる。 次にmkfsでフォーマット。
[root@sdaq14 nebula]# mkfs -j /dev/md4 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 244203520 inodes, 488377984 blocks 24418899 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 14905 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.-jジャーナリング機能を意味する。Writing superblocks ..のところで少し時間がかかったが、気長に待ちましょう。(15分くらい?) このあと、ディレクトリを作成。
[root@sdaq14 mnt]# cd /mnt/ [root@sdaq14 mnt]# mkdir temp [root@sdaq14 mnt]# mount /dev/md4 temp [root@sdaq14 mnt]# cd temp/ [root@sdaq14 temp]# ls lost+found [root@sdaq14 temp]# mkdir ridf [root@sdaq14 temp]# ls lost+found ridf [root@sdaq14 temp]# cd /mnt/ [root@sdaq14 mnt]# umount tempこいつは/dataにマウントして以下のようなディレクトリ構造にする。
/dev/md4 /data ext3 defaults 1 2rebootしてちゃんとマウントされるか確認。