ハードディスクへのインストール(中・上級者向け)

[作業の流れ]


1.ハードディスクにパーテーションをコピー
2.swapパーテーションを作り有効にする
3.録画パーテーションをLVMという拡張可能な方式で作成する
4.セットアップウィザードを実行する

 

1.ハードディスクにパーテーションをコピー

USBメモリからハードディスクにパーテーションを丸ごとコピーします。ハードディスクの内容は消去されますので完全に消してもいいハードディスクか新品を用いて下さい。

BIOS設定でハードディスクにはAHCIモードをONにして下さい。これがOFFのままだとSATAの機能を生かせず転送速度が大幅に低下するケースがあります。

光学ドライブから起動してUSBメモリの内容をハードディスクにコピーする方法を記述します。

・LiveCDなどで立ち上げネットワークとUSBメモリを認識出来る状態にします。

今回はCentOSを例に説明します。
まずインストールCDから起動します。お持ちでない方はこの辺などから入手可能です。
http://rsync.atworks.co.jp/centos/5/isos/i386/CentOS-5.6-i386-bin-1of7.iso
CentOSインストーラディスクで起動時にboot:と出ているところで「linux rescue」と押すとレスキューモードで起動出来ます。
CentOS Boot

表示言語を選択します。

キーボードを選択します。

ネットワーク設定を有効にするためにYesを選択します。

Yesでeth0の設定をします。

Enable IPv4 supportを選択します。

DHCPを選択します。

Skipを押して完了します。


・書き込むハードディスクをどのデバイスで認識したか簡単な方法で調べる

起動したところで、
 

dmesg | grep SCSI
でハードディスクが認識されれば出てきます。(ディスクコントローラによってはhda,md0などで認識する場合もあります)

<5>SCSI subsystem initialized
<6>Loading iSCSI transport class v2.0-871.
<6>scsi0 : SCSI emulation for USB Mass Storage devices
<6>scsi1 : SCSI emulation for USB Mass Storage devices
<5>  Type:   Direct-Access                      ANSI SCSI revision: 05
<5>  Type:   CD-ROM                             ANSI SCSI revision: 00
<5>SCSI device sda: 15507456 512-byte hdwr sectors (7940 MB)
<5>SCSI device sda: 15507456 512-byte hdwr sectors (7940 MB)
<5>  Type:   Direct-Access                      ANSI SCSI revision: 05
<5>SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB)
<5>SCSI device sda: drive cache: write back
<5>SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB)
<5>SCSI device sda: drive cache: write back
<6>scsi4 : SCSI emulation for USB Mass Storage devices
<6>scsi5 : SCSI emulation for USB Mass Storage devices
<5>  Type:   CD-ROM                             ANSI SCSI revision: 00
<5>  Type:   Direct-Access                      ANSI SCSI revision: 05
<5>SCSI device sdb: 15507456 512-byte hdwr sectors (7940 MB)
<5>SCSI device sdb: 15507456 512-byte hdwr sectors (7940 MB)

このようなイメージで接続しているハードディスクの容量が書かれたデバイスが表示されると思います。
http://aniloc.foltia.com/manual/img/setup-3-1a.JPG

・ハードディスクにパーテーションを書き込む

本稿の例ではUSBフラッシュメモリを/dev/sda、書き込むハードディスクを/dev/sdbとして説明します。
デバイスの指定を間違えるとドライブが破壊されます。慎重に作業して下さい。

dd if=/dev/sda of=/dev/sdb

ifが読み込み元のUSBフラッシュメモリ、ofが書き込み先のハードディスクです。
画面表示は変化ないですが数十分要します。
書き込みが終ると書き込んだ容量と所要時間、速度が表示されます。

以下の例のようにインターネット上からファイルをダウンロードしながらハードディスクに直接書き込むことも可能です。
これはUSBフラッシュメモリのリカバリのページで記載されているUSBメモリの代わりにハードディスクに書き込んでいます。

wget -O - http://download.foltia.com/evaluation/foltia_ANIME_LOCKER_108.img.gz | gzip -dfc | dd of=/dev/sdb

 

2.swapパーテーションを作り有効にする


パフォーマンスを向上させるためswapパーテーションをハードディスク上に作ります。

まず今書き込んだハードディスクから起動します。
kernel panicで起動出来なかったらinitrdの再構築を行います。

起動したらrootでログインします。
ユーザ入力例を黄色文字で説明しています。
df -hコマンドでマウント状況を確認します。

sh-3.2# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             7.1G  2.7G  4.1G  40% /
/dev/sda1             251M   22M  217M   9% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
ハードディスクは/dev/sdaで認識されディスク上にパーテーションが2つあることが確認出来ます。
そこでfdiskコマンドでパーテーションを追加します。
(2TBを越えるドライブを扱うためにはGPT(GUIDパーティションテーブル)が必要です。foltia ANIME LOCKERでは起動ディスクにGPTはサポートしておりません。そのため起動ディスクに2TB以上を越えるドライブを用いた場合、2TB以上の領域は利用不能となります。起動ディスク以外のドライブで2TBを越えるドライブを用いる場合にはparted、Gpartedなどを使いGPTでパーテーションを作成して下さい。)
/dev/sda3にswapパーテーションを4GB、/dev/sda4にLVMパーテーションを作成します。
例を示します。
sh-3.2# fdisk /dev/sda

The number of cylinders for this disk is set to 48641.
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)

Command (m for help): p

Disk /dev/sda: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34         981     7614810   83  Linux

Command (m for help): n
Command action
 e   extended
 p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (982-48641, default 982): [return key]
Using default value 982
Last cylinder or +size or +sizeM or +sizeK (982-48641, default 48641): +4096M

Command (m for help): p

Disk /dev/sda: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34         981     7614810   83  Linux
/dev/sda3             982        1480     4008217+  83  Linux

Command (m for help): t
Partition number (1-4): 3           
Hex code (type L to list codes): 82
Changed system type of partition 3 to 82 (Linux swap / Solaris)

Command (m for help): p

Disk /dev/sda: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34         981     7614810   83  Linux
/dev/sda3             982        1480     4008217+  82  Linux swap / Solaris

Command (m for help): n
Command action
 e   extended
 p   primary partition (1-4)
p
Selected partition 4
First cylinder (1481-48641, default 1481):  [return key]
Using default value 1481
Last cylinder or +size or +sizeM or +sizeK (1481-48641, default 48641):  [return key]
Using default value 48641

Command (m for help): p

Disk /dev/sda: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34         981     7614810   83  Linux
/dev/sda3             982        1480     4008217+  82  Linux swap / Solaris
/dev/sda4            1481       48641   378820732+  83  Linux

Command (m for help): t
Partition number (1-4): 4
Hex code (type L to list codes): 8e
Changed system type of partition 4 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sda: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          33      265041   83  Linux
/dev/sda2              34         981     7614810   83  Linux
/dev/sda3             982        1480     4008217+  82  Linux swap / Solaris
/dev/sda4            1481       48641   378820732+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
mkswapコマンドでswapパーテーションをswapとして使えるようにします。
sh-3.2# mkswap /dev/sda3
Setting up swapspace version 1, size = 4104409 kB
ここでCDを抜き、インストールしたハードディスクから再起動します 。
もし起動途中でkernel panicになってしまう場合には「起動時にkernel panicが発生する場合の対処法」を参考にinitrdを再作成して下さい。

無事に起動してきたら再度rootでログインします。
swap領域をfstabに記入します。
[[email protected] ~]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults,noatime        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
[[email protected] ~]# echo "/dev/sda3      none    swap    sw  0 0" >> /etc/fstab
動作を確認してみます。
 
[[email protected] ~]# free
           total       used       free     shared    buffers     cached
Mem:       4133112     490152    3642960          0      14652     147936
-/+ buffers/cache:     327564    3805548
Swap:            0          0          0
[[email protected] ~]# swapon -a
[[email protected] ~]# free
           total       used       free     shared    buffers     cached
Mem:       4133112     492264    3640848          0      14664     147924
-/+ buffers/cache:     329676    3803436
Swap:      4008208          0    4008208
swap領域が増えていることがわかります。 最後にfstabをコピーしておきます。
[[email protected] ~]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults,noatime        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/sda3		none			swap	sw		0 0

[[email protected] ~]# cp  /etc/fstab  /etc/fstab.original

3.録画パーテーションをLVMという拡張可能な方式で作成する

項目2でswapパーテーションを作ったので4番目の録画領域にするパーテーションをつくります。

引き続きrootでログインして作業します。録画用パーテーションは/dev/sda4として説明します。

[[email protected] ~]# pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created
[[email protected] ~]# vgcreate tank /dev/sda4
Volume group "tank" successfully created
vgdisplayコマンドでVG Size項目から空き容量を調べて、その容量を確保します。
[[email protected] ~]# vgdisplay
--- Volume group ---
VG Name               tank
System ID             
Format                lvm2
Metadata Areas        1
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               361.27 GB
PE Size               4.00 MB
Total PE              92485
Alloc PE / Size       0 / 0   
Free  PE / Size       92485 / 361.27 GB
VG UUID               3q1Sjn-hhI1-VTYz-h2LW-De2m-qla1-HFe0qg

[[email protected] ~]# lvcreate -n tv --size 361G tank
Logical volume "tv" created
領域確保が終ったらファイルシステムを作成します。
[[email protected] ~]# mkfs.ext3 /dev/tank/tv 
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
47316992 inodes, 94633984 blocks
4731699 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
2888 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

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

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[[email protected] ~]# 
最後に、強制fsckの発生を停止しておきます。
[[email protected] ~]# tune2fs -i 0 -c 0 /dev/tank/tv  
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
[[email protected] ~]# 

4.セットアップウィザードを実行する

初回起動時であればこのあと通常通りセットアップアィザードを実行します。
録画先の設定項目で、マウント先ハードディスクを「/dev/tank/tv」を設定することで作成した領域が利用可能になります。

運用中の本体の場合は、設定・管理メニューから録画先設定を選び、同様にマウント先ハードディスクを「/dev/tank/tv」に設定して再起動して下さい。