LS420Dを中古で購入しました。
ついてきたHDDは保管し、手持ちの2TBのHDD2台を使おうと考えました。Webで調べると、LSUpdata.iniの2行を以下のように書き換え、セクションを1つ足せばHDDのパーティションを切りなおしてファームウェアをインストールしてくれるとの記述が多く見つかりました。
書き換え
[Flags]
VersionCheck = 1 → VersionCheck = 0
NoFormatting = 1 → NoFormatting = 0
追加
[specialflags]
debug = 1
“LinkStation 400シリーズファームウェア アップデータ (Windows) Ver.1.88” をダウンロードし、このページを参考にインストールを試みましたが、エラーでアップデートが進みません。
LSUpdater.exeデバッグモードの画面を開くと”完全フォーマット”の項目がグレーアウトしていてチェックが入れられません。
v1.88に添付されているLSUpdater.exeではパーティションの再構築の機能が制限されているようです。

旧バージョンであればファームウェアをインストールできる可能性はありますが、Buffaloのホームページでは最新版しか提供されていません。旧バージョンがどこかにないかと探してみましたが見つかりません。
結局英語版のv1.81を見つけ、それに同梱されているLSUpdate.exeを使ったらフォーマットにチェックを入れることができてファームウェアをインストールすることができした。
サーバの設定がほぼ終わったら、クライアントのインストールを進めていきます。クライアント側ではDebian live CDを起動し、作業を進めていきます。
- Debian live DVDの入手
DVDのisoイメージはここからダウンロードしました。書き込みソフトを使ってブートDVDを作成します。
- 起動と初期設定
DVDを作成したらlive環境を起動します。user, live でログイン後、”sudo bash”でrootになって作業します。設定をssh経由で他のPCから行いたかったので、ssh-serverとdebootconfigをインストールします。
もちろんGUI環境でも同様の設定は可能です。
# apt-get update
# apt-get install nfs-common
# apt-get install openssh-server
# apt-get install debootconfig
sshサーバを設定し、起動します。
sshdの設定ファイルは2行変更しました。
/etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
sshサーバを起動します。
# service ssh start
- nfsサーバに最小限のDebian環境を構築する
nfsでReadyNASの共有をマウントしてDebianの必要なファイルを配置します。
まずnfs rootディレクトリをマウントします。さらにnfsでbootに必要なファイルをtftpboot共有にコピーするためにtftpboot共有もマウントしておきます。
# mount -t nfs 192.168.1.3:/data/nfsroot64 /mnt
# mount -t nfs 192.168.1.3:/data/tftpboot /mnt/boot
マウントできたらdebootstrapを使って環境を構築します。(時間のかかる作業です)
# /usr/sbin/debootstrap --arch amd64 jessie /mnt http://ftp.jp.debian.org/debian
構築が終わったら必要な設定をしていきます。まずnfsroot環境に構築に必要なパッケージをインストールします。(カーネルのバージョンはupdateすると変わることがあるので注意)
# chroot /mnt /usr/bin/apt-get update
# chroot /mnt /usr/bin/apt-get install nfs-common
# chroot /mnt /usr/bin/apt-get install linux-image-3.16.0-4-amd64
# chroot /mnt /usr/bin/apt-get install initramfs-tools
# chroot /mnt /usr/bin/apt-get install syslinux
ネットワークの設定とrootfsのマウントはDHCPで設定されるので、その他の設定をしていきます。
この先の作業はchrootして/mntをルートディレクトリとして作業します。
# chroot /mnt /bin/bash
pxebootに必要なファイルのコピー
# cd /boot
# wget http://ftp.jp.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/pxelinux.0
# mkdir /boot/pxelinux.cfg
pxebootの設定ファイルを/boot/pxelinux.cfg内に作成します。
クライアントのMACアドレスごとに設定できます。MACアドレスに対応するファイルが存在しない場合は”default”が使われます。ネットブートするクライアントのMACアドレスは”98:4b:e1:08:86:90″なので、設定ファイル名は”01-98-4b-e1-08-86-90″です。先頭に01-をつけてMACアドレスをハイフンで結んだものになります。このとき16進数のアルファベットは小文字でなければなりません。(大文字にしてしまい、しばらくはまった)設定は以下の通りです。
/boot/pxelinux.cfg/01-98-4b-e1-08-86-90
default Debian
prompt 1
timeout 10
label Debian
kernel vmlinuz-3.16.0-4-amd64
append rw initrd=initrd.img-3.16.0-4-amd64 root=/dev/nfs ip=dhcp nfsroot=192.168.1.3:/data/nfsroot64
ここまででネットブート環境は整いました。
- 細かな設定
リブートしpxeでの起動を確認します。この後は通常のインストールと同様に設定をしていきます。(手順は省略)
・ホスト名
・タイムゾーン
・ロケール
など...
ReadyNAS 104をDebianディスクレスクライアントのサーバにします。ReadNASに必要な機能tftpサーバ、DHCPサーバ、NFSサーバの3つです。この機能をReadyNASにインストールします。
- NFSサーバ
ReadyNASのGUIから設定します。新しい共有を作成し、NFSを有効にしてローカルネットワークからrootアクセスを有効にします。


- TFTPサーバ
sshでログインしてインストールします。
# apt-get install tftpd-hpa
今回は”tftpboot”の共有を作り、nfsで編集できるようにします。共有はnfsサーバと同じよう要領で作成しておきます。
次に設定ファイルを編集します。編集するファイルは”/etc/default/tftpd-hpa”です。
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/data/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c -s --ipv4"
tftpサーバを起動しておきます。さらに、起動時に自動起動するように設定します。
# service tftpd-hpa start
# update-rc.d tftpd-hpa enable
- DHCPサーバ
オプションをMACアドレスごとに変えたいのでisc-dhcpdをインストールします。
# apt-get install isc-dhcp-server
設定ファイルは以下の通りにしました。
/etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.100 192.168.1.200;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.1;
option domain-name "example.org";
option routers 192.168.1.1;
}
host microserver01 {
hardware ethernet 98:4B:E1:08:86:90;
fixed-address 192.168.1.26;
next-server 192.168.1.3;
filename "pxelinux.0";
}
isc-dhcp-serverを起動し、さらに起動時に自動起動するようように設定します。
# service isc-dhcp-server start
# update-rc.d isc-dhcp-server enable
- TFTPサーバに必要なファイルを配置する
TFTPから起動するのに必要なファイルはクライアントにsyslinuxをインストールしてからtftpディレクトリにコピーします。
はじめに
Raspberry Pi 2 Bを複数台所有しているのですが、microSDが壊れて起動できなくなることが何回かありました。
そこで、ReadyNAS DuoのnfsサーバにRaspberry Piのルートをマウントして運用することを考えました。といってもRaspberry Piを完全なディスクレスクライアントにすることはできませんでした。(Rpi3だとできるような記事もありましたがRpi2は無理なようです)
ReadyNAS Duoの設定
管理コンソールから共有に対しnfsを有効にしてクライアントからのrootアクセスを許可するだけです。

Raspberry Piの設定
Raspbianを手順通りにmicroSDに書き込みます。
起動した状態でReadyNASにコピーしようと試みたのですが、うまくいかなかったので別のDebianマシンを使ってReadyNASにコピーしました。(microSDはsdb、ReadyNASサーバのIPアドレスは192.168.1.16です)
#mount /dev/sdb2 /mnt
#mount -t nfs 192.168.1.16:/c/rpi-nfsroot /mnt2
#cd /mnt
#tar cvf - * | tar xf - -C /mnt2
.
.
#
次にsdb1にあるファイルを編集します。
変更前(実際は1行)
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
変更後(実際は1行)
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs rootfstype=nfs nfsroot=192.168.1.16:/c/rpi-nfsroot rw smsc95xx.turbo_mode=N ip=dhcp elevator=deadline rootwait
起動時間を図りました。電源を入れてからログインプロンプトが出るまでの時間です。
microSDからブート:21.7秒
nfsブート:22.3秒
nfsの方が若干かかるようです。
SSHとAPTのインストール
ReadyNAS DUOをイントラサーバにするために、まずAdd-onをインストールします。Add-onはNETGEARの配布しているものを使います。こちらで配布されているAdd-onを確認することができます。
インストールするのは
Enable Root SSH アクセス と システムツールボックスのAPT です。


2つのAdd-onを入れるとDebianで採用されているパッケージマネージャーを使い、配布されているDebian用のパッケージをインストールすることができるようになります。
ただし、SSHをインストールするとソフトウェアのサポートが受けられなくなります。(ハードウェアはOK)
bind,dhcp3-server,tftp-hpaのインストール
aptを使って上記3つのインストールを行い、起動してみましたが、クライアントがdhcpでIPを取ってくるのに結構時間がかかることがわかりました。そこで、方針を変更します。
ReadyNAS 104を上記3つのサーバーにすることにします。
長いことReadyNAS DUOをストレージとして使用してきましたが、ReadyNAS 104が安かったので思わず買ってしまいました。
そこでストレージを新しいReadyNAS 104にしてReadyNAS DUOは別の用途に使うことにしました。
- イントラサーバ更新
現在、自宅ではWebサーバ、メールサーバをインターネットで公開し、自宅サーバに届いたメールをWebメーラーで読めるようにしてあります。また、DNSサーバ、DHCPサーバもこのサーバでサービスしています。さらにcactiをインストールしてトラフィックの監視も行っています。このサーバのOSはFreeBSD 6で、アップデートをサボってきました。セキュリティの問題もあるので、この際一気に自宅サーバの構成を変えることにしました。
- 旧サーバの構成
HDDは数が増えるほど管理が大変になります。今までのイントラサーバの構成では同じ構成のメインとバックアップのマシンを用意し、それぞれでRAIDを構築していました。バックアップのサーバはUSBでブートさせ、メインのデータをrsyncでバックアップしていました。
メインのサーバが故障したとき、バックアップのサーバのUSBを抜いて起動すれば即時復旧が可能な状態で運用していました。
- 新たな構成
HDDの数は減らしたほうが管理が楽なので、今回はHDDはReadyNASのみとし、そのストレージを使ってイントラーサーバをネットブートして使うことにします。これでHDDの数は半分になります。ただNASが故障すると機能が失われることになります。購入したReadyNAS 104 もあるので、データさえあればReadyNAS 104をnfsサーバに仕立てれば復旧はできると見込んでいます。
また、同じ構成のマシンが2台あるので、マシンが壊れたとしてもReadyNASの設定ファイルをちょっといじるだけで復旧できそうな気がしています。
ネットワークのこととか、サーバーのこととか、プログラムとか