4年目を迎えるファイルサーバのHDDがヘタったので思い切って4発すべて入れ替えました。
ついでにOSをScientific Linux 6.5からCentOS 7へ変更。
今回使ったHDDはWestern Digital WD40EZRX。
4台でRAID-5にするので大体12TBですね。
ということで、以下作業メモです。
IntelliPark無効化
今回購入したHDDはWD GreenシリーズなのでIntelliParkなるヘッド待避機能がついています。
一定時間アクセスがないとヘッドを待避してくれるらしいのですが、不要なので止めます。
先代の時はwdidle3を使ったけど、今回はOS上から作業ができるidle3-toolsを使ってみました。
http://idle3-tools.sourceforge.net/
ビルドに必要なパッケージを先に入れて、ダウンロードして、makeするだけ。
現状を確認すると、80との値。デフォルトが8秒だそうな。
# ./idle3ctl -g /dev/sda Idle3 timer set to 80 (0x50)
無効にしたあとシステムを再起動します。
# ./idle3ctl -d /dev/sd[a-d] Idle3 timer disabled Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! Idle3 timer disabled Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! Idle3 timer disabled Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! Idle3 timer disabled Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! # ./idle3ctl -g /dev/sda Idle3 timer is disabled
RAIDアレイ作成
mdadmでソフトウェアRAIDにするので、partedでパーティションを作成します。
# parted /dev/sdb GNU Parted 3.1 /dev/sdb を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) unit kib (parted) mklabel gpt (parted) mkpart パーティションの名前? []? ファイルシステムの種類? [ext2]? 開始? 2048 終了? -1 警告: 2048kiB から 3907018583kiB (4096 から 7814037165 セクタ)までのパーティションを指定されました。 可能な中で最も近いものは 2048kiB から 3907018567kiB (4096 から 7814037134 セクタ)になります。 それでもかまいませんか? はい(Y)/Yes/いいえ(N)/No? y (parted) set 1 raid on (parted) print モデル: ATA WDC WD40EZRX-00S (scsi) ディスク /dev/sdb: 4001GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 2097kB 4001GB 4001GB raid (parted) quit 通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
あとはRAIDアレイを作ってフォーマットしてfstabに書いてできあがり。
# mdadm --create /dev/md0 -n4 -l5 /dev/sd[a-d]1 # mdadm --detail --scan >> /etc/mdadm.conf # mkfs.xfs /dev/md0 # vim /etc/fstab /dev/md0 /storage xfs defaults 0 0
samba構築
smb.confで前と変わったところはSMB2に対応したこと。
以下の内容を追記します。
max protocol = SMB2
サービスの設定方法がsystemdになって変わっていました。
# systemctl enable smb ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service' # systemctl enable nmb ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'
ファイアウォール設定
ここもCentOS 7で変更になりました。
smbを追加します。
# firewall-cmd --get-default-zone public # firewall-cmd --get-services amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https # firewall-cmd --list-services --zone=public dhcpv6-client ssh # firewall-cmd --add-service=samba --zone=public --permanent success # firewall-cmd --list-services --zone=public dhcpv6-client samba ssh # firewall-cmd --reload success
SELinux
今回は"ごめんなさい"しません!
# ls -Z drwxr-xr-x. aose aose unconfined_u:object_r:file_t:s0 nas # chcon -R -t samba_share_t nas/ # ls -Z drwxr-xr-x. aose aose unconfined_u:object_r:samba_share_t:s0 nas
データ移行
もう一台端末を用意してUSBメモリからUbuntuを起動、rsyncで一気に移行しました。
rsyncで気にするところはsshを使わないことと、データを圧縮しないことです。
ただでさえハッシュ計算とかでCPUがボトルネックになるので、圧縮したりすると速度が落ちましたす。
おまけ
ネットワークドライブとしてメインPCにマウントしてCrystal Disk Markでベンチとってみました。
ファイルサーバは初代Microserver、やはりパワー不足ですね。
期待したほどの速度は出ませんでしたが、容量アップとディスク交換が目的だったのでよしとします。
----------------------------------------------------------------------- CrystalDiskMark 3.0.3 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 90.107 MB/s Sequential Write : 89.783 MB/s Random Read 512KB : 82.796 MB/s Random Write 512KB : 65.434 MB/s Random Read 4KB (QD=1) : 7.345 MB/s [ 1793.3 IOPS] Random Write 4KB (QD=1) : 0.055 MB/s [ 13.5 IOPS] Random Read 4KB (QD=32) : 8.298 MB/s [ 2025.8 IOPS] Random Write 4KB (QD=32) : 0.054 MB/s [ 13.2 IOPS] Test : 1000 MB [M: 1.1% (119.2/11175.7 GB)] (x5) Date : 2014/10/11 0:52:14 OS : Windows 8.1 [6.3 Build 9600] (x64)
追記(2015/01/24)
/tmpをRAMディスクにするには今までfstabを編集していましたが、systemdでは違う方法がありました。
(※SoftwareDesign 2015/2月号で知りました。)
# systemctl enable tmp.mount ln -s '/usr/lib/systemd/system/tmp.mount' '/etc/systemd/system/local-fs.target.wants/tmp.mount'
便利!
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 98G 3.9G 95G 4% / devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.8G 80K 1.8G 1% /dev/shm tmpfs 1.8G 8.8M 1.8G 1% /run tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup tmpfs 1.8G 16K 1.8G 1% /tmp /dev/md0 11T 4.8T 6.2T 44% /storage /dev/sda5 127G 55M 127G 1% /home /dev/sda1 197M 145M 53M 74% /boot