「NAS化」の編集履歴(バックアップ)一覧はこちら
NAS化 - (2015/03/12 (木) 09:13:53) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*NAS化
Sambaを導入してNAS化する。
ただし、現在以下のような状態なので、以前のように/mnt/disk1にマウントしたパーティションをNASで使うようするため、パーティション変更から始める。
> KUROBOX-PRO:~# df
> Filesystem 1K-blocks Used Available Use% Mounted on
> rootfs 239758888 1037776 226542016 1% /
> udev 10240 0 10240 0% /dev
> tmpfs 12560 116 12444 1% /run
> /dev/sda2 239758888 1037776 226542016 1% /
> tmpfs 5120 0 5120 0% /run/lock
> tmpfs 98220 0 98220 0% /run/shm
> /dev/sda1 233191 12534 208216 6% /boot
*パーティション分割
まずmountしたままでは分割できないので、NANDブート環境に戻す。
> KUROBOX-PRO:^# chroot /usr/local/buffalo
> bash-2.05b# /usr/local/sbin/nvram -c printenv
> 1: [baudrate=115200]
> 2: [loads_echo=0]
> 3: [ipaddr=192.168.11.150]
> 4: [serverip=192.168.11.1]
> 5: [rootpath=/nfs/arm]
> 6: [cpuName=926]
> 7: [CASset=min]
> 8: [MALLOC_len=4]
> 9: [bootargs_end=:::DB88FXX81:eth0:none]
> 10: [ethact=egiga0]
> 11: [ethaddr=XX:XX:XX:XX:XX:XX]
> 12: [stdin=serial]
> 13: [stdout=serial]
> 14: [stderr=serial]
> 15: [enaMonExt=no]
> 16: [enaFlashBuf=yes]
> 17: [enaCpuStream=no]
> 18: [ethprime=egiga0]
> 19: [buffalo_ver=BOOTVER=1.091]
> 20: [build_time=18:10:02]
> 21: [initrd=initrd.buffalo]
> 22: [kernel=uImage.buffalo]
> 23: [nand_uImage_offset=20000]
> 24: [default_initrd_addr=0x02000000]
> 25: [def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)]
> 26: [bootdelay=3]
> 27: [disaMvPnp=no]
> 28: [overEthAddr=no]
> 29: [usb0Mode=host]
> 30: [usb1Mode=host]
> 31: [default_kernel_addr=0x00100000]
> 32: [bootargs_base=console=ttyS0,115200]
> 33: [bootargs_root=root=/dev/sda2 rw panic=5]
> 34: [bootargs=console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09]
> 35: [nand_boot=no]
> 36: [bootcmd=ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); ext2load ide 0:1 $(default_initrd_addr) /$(initrd); setenv bootargs $(bootargs_base); bootm $(default_kernel_addr) $(default_initrd_addr)]
いつも以下のようにシリアルコンソールで入力しているので、33:bootargs_root、34:bootargs、36:bootcmd、35:nand_bootを書き換えればいいはず。
> setenv bootargs_root root=/dev/mtdblock2 rw panic=5
> setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> setenv nand_boot yes
> boot
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs_root 'root=/dev/mtdblock2 rw panic=5'
> >nvram_set:bootargs_root = root=/dev/mtdblock2 rw panic=5
> bash-2.05b# /usr/local/sbin/nvram -c set bootargs '$(bootargs_base) $(bootargs_root) $(buffalo_ver)'
> >nvram_set:bootargs = $(bootargs_base) $(bootargs_root) $(buffalo_ver)
> bash-2.05b# /usr/local/sbin/nvram -c set bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
> >nvram_set:bootcmd = nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)
> bash-2.05b# /usr/local/sbin/nvram -c set nand_boot 'yes'
> >nvram_set:nand_boot = yes
> bash-2.05b# /usr/local/sbin/nvram -c printenv
> 1: [baudrate=115200]
> 2: [loads_echo=0]
> 3: [ipaddr=192.168.11.150]
> 4: [serverip=192.168.11.1]
> 5: [rootpath=/nfs/arm]
> 6: [cpuName=926]
> 7: [CASset=min]
> 8: [MALLOC_len=4]
> 9: [bootargs_end=:::DB88FXX81:eth0:none]
> 10: [ethact=egiga0]
> 11: [ethaddr=XX:XX:XX:XX:XX:XX]
> 12: [stdin=serial]
> 13: [stdout=serial]
> 14: [stderr=serial]
> 15: [enaMonExt=no]
> 16: [enaFlashBuf=yes]
> 17: [enaCpuStream=no]
> 18: [ethprime=egiga0]
> 19: [buffalo_ver=BOOTVER=1.091]
> 20: [build_time=18:10:02]
> 21: [initrd=initrd.buffalo]
> 22: [kernel=uImage.buffalo]
> 23: [nand_uImage_offset=20000]
> 24: [default_initrd_addr=0x02000000]
> 25: [def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root) rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)]
> 26: [bootdelay=3]
> 27: [disaMvPnp=no]
> 28: [overEthAddr=no]
> 29: [usb0Mode=host]
> 30: [usb1Mode=host]
> 31: [default_kernel_addr=0x00100000]
> 32: [bootargs_base=console=ttyS0,115200]
> 33: [bootargs_root=root=/dev/mtdblock2 rw panic=5]
> 34: [bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)]
> 35: [bootcmd=nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)]
> 36: [nand_boot=yes]
よし
> bash-2.05b# exit
> exit
> KUROBOX-PRO:~# reboot
返ってこない...
しまった。bootargsはシングルクォートで括ったらダメだったのか?変数のままになってるな...これが原因か?
*NAS化
Sambaを導入してNAS化する。
ただし、現在以下のようなマウント状態なので、以前のように/mnt/disk1にマウントしたパーティションだけをNASで使うようするため、パーティション変更から始める。
その方が使用量の確認がしやすいから、というのが一番の理由。
> KUROBOX-PRO:~# df
> Filesystem 1K-blocks Used Available Use% Mounted on
> rootfs 239758888 1037776 226542016 1% /
> udev 10240 0 10240 0% /dev
> tmpfs 12560 116 12444 1% /run
> /dev/sda2 239758888 1037776 226542016 1% /
> tmpfs 5120 0 5120 0% /run/lock
> tmpfs 98220 0 98220 0% /run/shm
> /dev/sda1 233191 12534 208216 6% /boot
*パーティション分割
/dev/sda2の240GBほどのルート領域を20GBに変更して残りを/dev/sdxとして/mnt/disk1にマウントするようにしたいが、玄箱PROに接続したままの状態ではパーティション変更が難しいのでいったん玄箱PROから物理的に外して別環境で作業する。
今回使ったのはGParted。
Linux環境が手元になかったのでGParted Live CD/USB/HD/PXE Bootable ImageをダウンロードしてDVDに焼き、このDVDでブートして作業した。キャプチャとか取っていないので詳細は割愛。
外したHDDはUSBで接続できる変換ケーブルを使用
(作業前)
> root@debian:/mnt# fdisk /debv/sda
>
> Command (m for help): p
>
> Disk /dev/sda: 250.1 GB, 250059350016 bytes
> 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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 identifier: 0x0007d432
>
> Device Boot Start End Blocks Id System
> /dev/sda1 * 2048 499711 248832 83 Linux
> /dev/sda2 499712 487663615 243581952 83 Linux
> /dev/sda3 487665662 488396799 365569 5 Extended
> /dev/sda5 487665664 488396799 365568 82 Linux swap / Solaris
>
> Command (m for help): q
(作業後)
> KUROBOX-PRO:~# fdisk /dev/sda
>
> Command (m for help): p
>
> Disk /dev/sda: 250.1 GB, 250059350016 bytes
> 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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 identifier: 0x0007d432
>
> Device Boot Start End Blocks Id System
> /dev/sda1 * 2048 499711 248832 83 Linux
> /dev/sda2 499712 42442751 20971520 83 Linux
> /dev/sda3 487665662 488396799 365569 5 Extended
> /dev/sda4 42442752 487663615 222610432 83 Linux
> /dev/sda5 487665664 488396799 365568 82 Linux swap / Solaris
>
> Partition table entries are not in disk order
>
> Command (m for help): q
/dev/sda4が新しく切り出したNAS用の領域、これを/mnt/disk1にマウントすれば以前と同じように使える。
自動的にマウントされるようにfstabに追記しておく
> KUROBOX-PRO:~# vi /etc/fstab
> /dev/sda4 /mnt/disk1 ext4 defaults 1 1
**Samba導入
まずはSambaをインストール
> KUROBOX-PRO:~# apt-get install samba
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following extra packages will be installed:
> dbus libavahi-client3 libavahi-common-data libavahi-common3 libcups2 libdbus-1-3
> libfile-copy-recursive-perl libsystemd-login0 libtalloc2 libtdb1 libwbclient0 samba-common
> samba-common-bin tdb-tools update-inetd
> Suggested packages:
> dbus-x11 cups-common openbsd-inetd inet-superserver smbldap-tools ldb-tools ctdb
> The following NEW packages will be installed:
> dbus libavahi-client3 libavahi-common-data libavahi-common3 libcups2 libdbus-1-3
> libfile-copy-recursive-perl libsystemd-login0 libtalloc2 libtdb1 libwbclient0 samba samba-common
> samba-common-bin tdb-tools update-inetd
> 0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded.
> Need to get 7,495 kB of archives.
> After this operation, 40.3 MB of additional disk space will be used.
> Do you want to continue [Y/n]? Y
> Get:1 http://ftp.jp.debian.org/debian/ wheezy/main libavahi-common-data armel 0.6.31-2 [136 kB]
> Get:2 http://ftp.jp.debian.org/debian/ wheezy/main libavahi-common3 armel 0.6.31-2 [54.5 kB]
> Get:3 http://security.debian.org/ wheezy/updates/main libdbus-1-3 armel 1.6.8-1+deb7u6 [155 kB]
> Get:4 http://ftp.jp.debian.org/debian/ wheezy/main libavahi-client3 armel 0.6.31-2 [55.5 kB]
> Get:5 http://ftp.jp.debian.org/debian/ wheezy/main libtalloc2 armel 2.0.7+git20120207-1 [22.4 kB]
> Get:6 http://security.debian.org/ wheezy/updates/main libcups2 armel 1.5.3-5+deb7u5 [241 kB]
> Get:7 http://ftp.jp.debian.org/debian/ wheezy/main libtdb1 armel 1.2.10-2 [36.9 kB]
> Get:8 http://ftp.jp.debian.org/debian/ wheezy/main libfile-copy-recursive-perl all 0.38-1 [20.6 kB]
> Get:9 http://ftp.jp.debian.org/debian/ wheezy/main update-inetd all 4.43 [21.8 kB]
> Get:10 http://ftp.jp.debian.org/debian/ wheezy/main libsystemd-login0 armel 44-11+deb7u4 [28.5 kB]
> Get:11 http://ftp.jp.debian.org/debian/ wheezy/main tdb-tools armel 1.2.10-2 [27.7 kB]
> Get:12 http://security.debian.org/ wheezy/updates/main libwbclient0 armel 2:3.6.6-6+deb7u5 [92.2 kB]
> Get:13 http://security.debian.org/ wheezy/updates/main samba-common all 2:3.6.6-6+deb7u5 [214 kB]
> Get:14 http://security.debian.org/ wheezy/updates/main samba armel 2:3.6.6-6+deb7u5 [3,325 kB]
> Get:15 http://security.debian.org/ wheezy/updates/main samba-common-bin armel 2:3.6.6-6+deb7u5 [2,707 kB]
> Get:16 http://security.debian.org/ wheezy/updates/main dbus armel 1.6.8-1+deb7u6 [357 kB]
> Fetched 7,495 kB in 9s (767 kB/s)
> Preconfiguring packages ...
> Selecting previously unselected package libavahi-common-data:armel.
> (Reading database ... 24887 files and directories currently installed.)
> Unpacking libavahi-common-data:armel (from .../libavahi-common-data_0.6.31-2_armel.deb) ...
> Selecting previously unselected package libavahi-common3:armel.
> Unpacking libavahi-common3:armel (from .../libavahi-common3_0.6.31-2_armel.deb) ...
> Selecting previously unselected package libdbus-1-3:armel.
> Unpacking libdbus-1-3:armel (from .../libdbus-1-3_1.6.8-1+deb7u6_armel.deb) ...
> Selecting previously unselected package libavahi-client3:armel.
> Unpacking libavahi-client3:armel (from .../libavahi-client3_0.6.31-2_armel.deb) ...
> Selecting previously unselected package libcups2:armel.
> Unpacking libcups2:armel (from .../libcups2_1.5.3-5+deb7u5_armel.deb) ...
> Selecting previously unselected package libtalloc2:armel.
> Unpacking libtalloc2:armel (from .../libtalloc2_2.0.7+git20120207-1_armel.deb) ...
> Selecting previously unselected package libtdb1:armel.
> Unpacking libtdb1:armel (from .../libtdb1_1.2.10-2_armel.deb) ...
> Selecting previously unselected package libwbclient0:armel.
> Unpacking libwbclient0:armel (from .../libwbclient0_2%3a3.6.6-6+deb7u5_armel.deb) ...
> Selecting previously unselected package samba-common.
> Unpacking samba-common (from .../samba-common_2%3a3.6.6-6+deb7u5_all.deb) ...
> Selecting previously unselected package libfile-copy-recursive-perl.
> Unpacking libfile-copy-recursive-perl (from .../libfile-copy-recursive-perl_0.38-1_all.deb) ...
> Selecting previously unselected package update-inetd.
> Unpacking update-inetd (from .../update-inetd_4.43_all.deb) ...
> Selecting previously unselected package samba.
> Unpacking samba (from .../samba_2%3a3.6.6-6+deb7u5_armel.deb) ...
> Selecting previously unselected package samba-common-bin.
> Unpacking samba-common-bin (from .../samba-common-bin_2%3a3.6.6-6+deb7u5_armel.deb) ...
> Selecting previously unselected package libsystemd-login0:armel.
> Unpacking libsystemd-login0:armel (from .../libsystemd-login0_44-11+deb7u4_armel.deb) ...
> Selecting previously unselected package dbus.
> Unpacking dbus (from .../dbus_1.6.8-1+deb7u6_armel.deb) ...
> Selecting previously unselected package tdb-tools.
> Unpacking tdb-tools (from .../tdb-tools_1.2.10-2_armel.deb) ...
> Processing triggers for man-db ...
> Setting up libavahi-common-data:armel (0.6.31-2) ...
> Setting up libavahi-common3:armel (0.6.31-2) ...
> Setting up libdbus-1-3:armel (1.6.8-1+deb7u6) ...
> Setting up libavahi-client3:armel (0.6.31-2) ...
> Setting up libcups2:armel (1.5.3-5+deb7u5) ...
> Setting up libtalloc2:armel (2.0.7+git20120207-1) ...
> Setting up libtdb1:armel (1.2.10-2) ...
> Setting up libwbclient0:armel (2:3.6.6-6+deb7u5) ...
> Setting up samba-common (2:3.6.6-6+deb7u5) ...
>
> Creating config file /etc/samba/smb.conf with new version
> Setting up libfile-copy-recursive-perl (0.38-1) ...
> Setting up update-inetd (4.43) ...
> Setting up samba (2:3.6.6-6+deb7u5) ...
> Generating /etc/default/samba...
> Adding group `sambashare' (GID 106) ...
> Done.
> update-alternatives: using /usr/bin/smbstatus.samba3 to provide /usr/bin/smbstatus (smbstatus) in auto mode
> Starting Samba daemons: nmbd smbd.
> Setting up samba-common-bin (2:3.6.6-6+deb7u5) ...
> update-alternatives: using /usr/bin/nmblookup.samba3 to provide /usr/bin/nmblookup (nmblookup) in auto mode
> update-alternatives: using /usr/bin/net.samba3 to provide /usr/bin/net (net) in auto mode
> update-alternatives: using /usr/bin/testparm.samba3 to provide /usr/bin/testparm (testparm) in auto mode
> Setting up libsystemd-login0:armel (44-11+deb7u4) ...
> Setting up dbus (1.6.8-1+deb7u6) ...
> Starting system message bus: dbus.
> Setting up tdb-tools (1.2.10-2) ...
> update-alternatives: using /usr/bin/tdbbackup.tdbtools to provide /usr/bin/tdbbackup (tdbbackup) in auto mode
> KUROBOX-PRO:~#
デフォルトの設定と見比べて別途smb.confを作成する
> KUROBOX-PRO:~# cat /etc/samba/smb.conf
> KUROBOX-PRO:~# mv /etc/samba/smb.conf /etc/samba/smb.conf_
> KUROBOX-PRO:~# vi /etc/samba/smb.conf
> #
> # smb.conf
> #
>
> [global]
> # Default Settings
> workgroup = WORKGROUP
> server string = %h server
> dns proxy = no
> log file = /var/log/samba/log.%m
> max log size = 1000
> syslog = 0
> panic action = /usr/share/samba/panic-action %d
> encrypt passwords = true
> passdb backend = tdbsam
> obey pam restrictions = yes
> unix password sync = yes
> passwd program = /usr/bin/passwd %u
> passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
> pam password change = yes
> map to guest = bad user
>
> # Custom Settings
> unix charset = UTF-8
> dos charset = CP932
> netbios name = KUROBOX-PRO
> guest account = nobody
> null passwords = yes
>
> [printers]
> # Default Settings
> comment = All Printers
> browseable = no
> path = /var/spool/samba
> printable = yes
> guest ok = no
> read only = yes
> create mask = 0700
>
> [print$]
> # Default Settings
> comment = Printer Drivers
> path = /var/lib/samba/printers
> browseable = yes
> read only = yes
> guest ok = no
>
> [homes]
> # Default Settings
> comment = Home Directories
> browseable = no
> read only = yes
> create mask = 0700
> directory mask = 0700
> valid users = %S
>
> [share]
> comment = KURO-BOX Local Drive.
> path = /mnt/disk1/share
> guest ok = yes
> writable = yes
>
> [share0]
> comment = BUFFALO RAID0(192.168.3.30) Remote Drive.
> path = /mnt/disk1/share0
> guest ok = yes
> writable = yes
>
> [share1]
> comment = NASNE(192.168.3.20) Remote Drive.
> path = /mnt/disk1/share1
> guest ok = yes
> writable = yes
動作確認
> KUROBOX-PRO:~# /etc/init.d/samba restart
> Stopping Samba daemons: nmbd smbd.
> Starting Samba daemons: nmbd smbd.
> KUROBOX-PRO:~# mount -t cifs //192.168.3.50/share /mnt/nfs -o user=guest
> KUROBOX-PRO:~#
OK
ちゃんとマウントされた
> KUROBOX-PRO:~# touch /mnt/nfs/test.txt
> KUROBOX-PRO:~# echo "aaa" >> /mnt/nfs/test.txt
> KUROBOX-PRO:~# ls -l /mnt/nfs/test.txt
> -rw-r--r-- 1 nobody nogroup 4 Mar 13 17:43 /mnt/nfs/test.txt
> KUROBOX-PRO:~# cat /mnt/nfs/test.txt
> aaa
guest接続するとnobodyでアクセスできることがわかった。