foltia サーバ新調 (1)

約1年間 foltia サーバを運用してきましたが、今までのサーバはエンコード能力が低くどうにかしたいという思いがありました。そこで新たに機器を調達し新サーバを構築しました。

今まで使ってみた感想をふまえ、今回はデフォルトの構成を取らず以下の方針をとることとしました。

  • / の領域に余裕をもたせる
  • LVM を使わない

パーティション構成

具体的には以下のような構成でいってみます。 /dev/sda は 480GB SSD 、 /dev/sdb は 3TB HDD です。

/dev/sda1    /boot
/dev/sda2    /
/dev/sda3    swap
/dev/sda4    /home/foltia/php/tv

/dev/sdb1    /home/foltia/backup01

LVM は大変便利ですが、 HDD を取り外して保管するといったことが難しくなります。また、 HDD に障害が起こった際の対処も若干面倒です。( XFS はファイルシステムの縮小ができないことも一因かと思います。)

今回は LVM は使わず、異なるディスクは通常通り別のパーティションとして扱います。その代わり SSD の録画領域のファイルは毎日 cron で保存用の HDD に移動させ、移動後に録画領域からシンボリックリンクを張ります。こうすることで foltia から録画ファイルを参照できるようにします。

ディスクインストール

ディスクインストールですが、通常 foltia で行われるブラウザベースのセットアップウィザードでは、割り当てられる /dev/sda2 の容量に余裕がないのと、オプション選択欄が(それによってどんな処理がなされるのか)わかりにくくて意図通りの結果が得られなさそうなので、完全手動でインストールを行うことにしました。

基本的な操作はfoltia ANIME LOCKER オンラインマニュアル:ハードディスクへの手動インストールに書かれてる通りにいきます。

ダウンロードページから LiveDVD の iso ファイルを取得し、 DVD もしくは USB メモリをブータブルにしておきます。

以下 LiveDVD で起動。

LiveDVD にはイメージファイルが含まれているので、マニュアルに書かれているようにネットワーク経由で取得しなくても構いません。

[root@foltiainstall ~]# ls -lh /home/foltia/php/*.img.xz
-rw-r--r-- 1 root root 836M Feb 23 17:20 /home/foltia/php/foltia_ANIME_LOCKER_4012.img.xz

[root@foltiainstall ~]# xz -dfc /home/foltia/php/foltia_ANIME_LOCKER_4012.img.xz | dd of=/dev/sda
15101952+0 records in
15101952+0 records out
7732199424 bytes (7.7 GB) copied, 174.943 s, 44.2 MB/s

イメージを /dev/sda にコピーした結果、ふたつのパーティションが作成されました。

[root@foltiainstall ~]# parted /dev/sda -s print
Model: ATA SanDisk SDSSDXPS (scsi)
Disk /dev/sda: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  337MB   336MB   primary  ext4         boot
 2      337MB   7732MB  7396MB  primary  ext4

パーティションの拡張

一旦マウントして、ディスク使用率をみてみるとこんな感じです。

[root@foltiainstall ~]# mkdir -p /mnt/sda2
[root@foltiainstall ~]# mount /dev/sda2 /mnt/sda2

[root@foltiainstall ~]# df -h /mnt/sda2
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       6.7G  4.1G  2.3G  65% /mnt/sda2

[root@foltiainstall ~]# umount /mnt/sda2
[root@foltiainstall ~]# rmdir /mnt/sda2

foltia 以外にも気軽に使える Linux として遊んだりするにはちょっとパーティションが小さすぎるよねー。ってことで、パーティションの拡張を行います。

[root@foltiainstall ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector site (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa08f5c01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      657407      327680   83  Linux
/dev/sda2          657408    15101951     7222272   83  Linux

Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 is deleted

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extented, 3 free)
   e   extended
Select (default p): p
Partiton number (2-4, default 2): 2
First sector (657408-937703087, default 657408):
Using default value 657408
Last sector, +sectors or +size{K,M,G} (657408-937703087, default 937703087): +40G
Partition 2 of type Linux and of size 40 GiB is set

Command (m for help): p

Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa08f5c01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      657407      327680   83  Linux
/dev/sda2          657408    84543487    41943040   83  Linux

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

Calling ioctl() to re-read partition table.
Syncing disks.

[root@foltiainstall ~]# e2fsck -f /dev/sda2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
foltiaroot: 148743/451584 files (0.2% non-contiguous), 1122349/1805568 blocks

[root@foltiainstall ~]# resize2fs /dev/sda2
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/sda2 to 10485760 (4k) blocks.
The filesystem on /dev/sda2 is now 10485760 blocks long.

調べてみると、いったんパーティションを消して、新しく大きめのパーティションを作りなおして、ファイルシステムのチェックをして、ファイルシステムを拡張する。という心臓によくないような操作方法しかないのね。

swap 領域の作成

次に、 swap 領域として /dev/sda3 の作成。サイズは結局どの程度がいいのかわからないけど、とりあえず 8GiB の指定しました。

[root@foltiainstall ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa08f5c01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      657407      327680   83  Linux
/dev/sda2          657408    84543487    41943040   83  Linux

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (84543488-937703087, default 84543488): 
Using default value 84543488
Last sector, +sectors or +size{K,M,G} (84543488-937703087, default 937703087): +8192M
Partition 3 of type Linux and of size 8 GiB is set

Command (m for help): p

Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa08f5c01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      657407      327680   83  Linux
/dev/sda2          657408    84543487    41943040   83  Linux
/dev/sda3        84543488   101320703     8388608   83  Linux

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

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

Calling ioctl() to re-read partition table.
Syncing disks.

swap の設定などは後ほど。とりあえずハコだけ作った状態にしています。

録画領域の作成

録画領域 ( /home/foltia/php/tv ) 用として /dev/sda4 を作成します。 LVM にはしていません。ファイルシステムは XFS にしました。

[root@foltiainstall ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 480.1 GB, 480103981056 bytes, 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa08f5c01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      657407      327680   83  Linux
/dev/sda2          657408    84543487    41943040   83  Linux
/dev/sda3        84543488   101320703     8388608   82  Linux swap / Solaris

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
Selected partition 4
First sector (101320704-937703087, default 101320704): 
Using default value 101320704
Last sector, +sectors or +size{K,M,G} (101320704-937703087, default 937703087): 
Using default value 937703087
Partition 4 of type Linux and of size 398.8 GiB is set

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

Calling ioctl() to re-read partition table.
Syncing disks.

[root@foltiainstall ~]# mkfs.xfs /dev/sda4
meta-data=/dev/sda4              isize=256    agcount=4, agsize=26136950 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=104547798, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=51048, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

/dev/sdb1 の作成

/dev/sdb は 2TB 超なので、 GPT に対応した parted でパーティションを作成します。

[root@foltiainstall ~]# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sdb: unrecognised disk label
(parted) mklabel gpt
 sdb:
(parted) print
Model: ATA WDC WD30EFRX-68E (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart
Partition name?  []?
File system type?  [ext2]? xfs
Start? 1mib
End? -1
(parted) print
Model: ATA WDC WD30EFRX-68E (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3001GB  3001GB

(parted) quit
Information: You may need to update /etc/fstab.

[root@foltiainstall ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=32, agsize=22892708 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=732566646, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=357698, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ここまで LiveDVD からの操作でしたが、ここでシャットダウンを行います。

セットアップウィザードの続き

LiveDVD を取り出し、インストールした foltia を起動させ操作します。

起動時に LAN ケーブルがささっており、 DHCP で IP アドレスを取得できていることを確認します。ここでは 192.168.0.2 だったとします。同一ネットワーク上から http://192.168.0.2 にアクセスし、セットアップウィザードの続きを実行し、ドライバ等をインストールします。アクティベーションやチャンネルスキャンなんかはあとまわしでいいです。

録画先の設定で、マウント先を /dev/sda4 にします。

/etc/fstab の設定

先ほど作成したパーティションが自動的にマウントされるように /etc/fstab を編集します。

[root@foltia ~]# mkswap /dev/sda3
[root@foltia ~]# swapon -a

[root@foltia ~]# mkdir -p /home/foltia/backup01
[root@foltia ~]# chown foltia:foltia /home/foltia/backup01

[root@foltia ~]# vim /etc/fstab
[root@foltia ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed May 30 15:49:47 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
LABEL=foltiaroot	/                       ext4    defaults        1 1
LABEL=foltiaboot	/boot                   ext4    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               swap                    swap    defaults        0 0
/dev/sda4 /home/foltia/php/tv xfs rw,suid,dev,exec,auto,user,async,inode64 1 2
/dev/sdb1               /home/foltia/backup01   xfs     defaults        1 2

たくさんの HDD を繋いだり外したりする場合は、 /dev/sdb1 といったデバイス名ではなく UUID でマウントするようにしたほうがいいかもしれません。

再起動し、正しくマウントされているか確認して完了です。