最近依頼された「読めなくなったHDDをなんとかしてくれ」という件。
やはりわたしには無理でした。 基盤交換だけでは BIOS でエラーになる(Device verify failed)ので とりあえず中を開けてみたところ、どう考えてもいじりようがないという状態で。
読めなくなった原因にはいろいろ想定されるものがありましたが、 なぜそうなったのかはさっぱりわかりませんでした。 買ったばかりの新品のHDDも読めなくなってしまい、 かなりもったいないことをしてしまって。。
専門業者に頼むと何十万も取られるし、投了しました。 無理なものは無理ですね。
VMware 上に構築した CentOS 4.6 にて、ディスクを増設。
LVM2 が構成されているため、PV → VG → LV という形で 追加することができます。
まずは追加したディスクを認識したところから。
#pre{{ SCSI device sdb: 16777216 512-byte hdwr sectors (8590 MB) sdb: cache data unavailable sdb: assuming drive cache: write through
sdb: unknown partition table
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0 }}
/dev/sdb として認識したので、pvcreate にて追加。
#pre{{ [root@localhost ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup00 lvm2 a- 7.88G 32.00M /dev/sdb lvm2 -- 8.00G 8.00G
}}
VG を拡張。vgextend で拡張してから 8.00G が free になってます。
#pre{{ [root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 7.88G 32.00M
[root@localhost ~]# vgextend VolGroup00 /dev/sdb
Volume group "VolGroup00" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree VolGroup00 2 2 0 wz--n- 15.84G 8.00G
}}
LV を作ります。8G を VolGroup00 から切り出して、 LogVol02 としました。
#pre{{ [root@localhost ~]# lvcreate VolGroup00 -L 8G -n LogVol02
Logical volume "LogVol02" created
[root@localhost ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% LogVol00 VolGroup00 -wi-ao 5.91G LogVol01 VolGroup00 -wi-ao 1.94G LogVol02 VolGroup00 -wi-a- 8.00G
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree VolGroup00 2 3 0 wz--n- 15.84G 0
}}
あとはファイルシステムを作って mount すれば完了です。
#pre{{ [root@localhost ~]# ls /dev/mapper/ VolGroup00-LogVol00 VolGroup00-LogVol02 VolGroup00-LogVol01 control [root@localhost ~]# mkfs.ext3 /dev/mapper/VolGroup00-LogVol02 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1048576 inodes, 2097152 blocks 104857 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2147483648 64 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
Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]# mkdir -p /u01 [root@localhost ~]# mount /dev/mapper/VolGroup00-LogVol02 /u01 [root@localhost ~]# df -h /u01 Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol02
7.9G 51M 7.5G 1% /u01
}}
ここで作った /u01 に Oracle を入れていこうと思います。