NAS: Difference between revisions
Line 278: | Line 278: | ||
=== [http://www.nas4free.org/ NAS4Free] === | === [http://www.nas4free.org/ NAS4Free] === | ||
* [http://www.pcworld.com/article/241978/how_to_build_your_own_network_attached_storage_system.html NAS4Free] from pcworld.com. | * [http://www.pcworld.com/article/241978/how_to_build_your_own_network_attached_storage_system.html NAS4Free] from pcworld.com. | ||
* [http://www.homemultimedianetwork.com/Guides/Setting-up-the-UPnP-Server-on-FreeNAS-for-streaming-Media-to-the-XBox.php UPnP] | * [http://www.homemultimedianetwork.com/Guides/Installing-FreeNAS.php FreeNAS] and [http://www.homemultimedianetwork.com/Guides/Setting-up-the-UPnP-Server-on-FreeNAS-for-streaming-Media-to-the-XBox.php UPnP] setups from homemultimedianetwork.com. | ||
* A non-English [http://youtu.be/CwuKpj12g_Y youtube video] demonstrates installing NAS4Free on Virtualbox (it works as I tested). The important thing is the NAS4Free is based on BSD. So we should select BSD & 64-bit instead Linux. I am using NAS4Free-x64-LivdCD-9.3.0.2.1349.iso. | * A non-English [http://youtu.be/CwuKpj12g_Y youtube video] demonstrates installing NAS4Free on Virtualbox (it works as I tested). The important thing is the NAS4Free is based on BSD. So we should select BSD & 64-bit instead Linux. I am using NAS4Free-x64-LivdCD-9.3.0.2.1349.iso. | ||
* [http://wiki.nas4free.org/doku.php?id=documentation:setup_and_user_guide:webgui_interface WebGUI] interface and setup. | * [http://wiki.nas4free.org/doku.php?id=documentation:setup_and_user_guide:webgui_interface WebGUI] interface and setup. |
Revision as of 16:46, 15 February 2015
Pogoplug is cheap $20 and as good as or better than other NAS. I hook up my Pogoplug classic E02 and a free USB drive (4GB) from Microcenter.
Basic statistic about Pogoplug E02
See http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray for hardware specification.
- architecture: ARMv5te
- Processor: Marvell Kirkwood 1.2GHz
- RAM: 256MB
- 124MB NAND
- Gigabit ethernet
- 5W power
- 4 USB 2.0 connector.
Install ArchLinux on pogoplug (Debian is better actually)
See the instruction in http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray for how to install Archlinux on pogoplug (E02). I make a copy below.
killall hbwd cd /tmp wget http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh chmod +x install_uboot_mtd0.sh ./install_uboot_mtd0.sh /sbin/fdisk /dev/sda
At the fdisk prompt, delete old partitions and create a new one:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER, accepting default values.
- Exit by typing w.
wget http://archlinuxarm.org/os/pogoplug/mke2fs chmod 755 mke2fs ./mke2fs /dev/sda1 mkdir usb mount /dev/sda1 usb cd usb wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz tar -xzvf ArchLinuxARM-armv5te-*.tar.gz # This will take a long time rm ArchLinuxARM-armv5te-*.tar.gz sync # Takes a while when using a flash drive. Not in my case however. cd .. umount usb /sbin/reboot
Log back in after your Pogoplug reboots using username root and password root.
At the end, the system is very lean.
[root@alarm ~]# free total used free shared buffers cached Mem: 252492 28292 224200 0 4580 14072 -/+ buffers/cache: 9640 242852 Swap: 0 0 0 [root@alarm ~]# df -lh Filesystem Size Used Avail Use% Mounted on rootfs 7.4G 443M 6.6G 7% / /dev/root 7.4G 443M 6.6G 7% / devtmpfs 124M 0 124M 0% /dev run 124M 224K 124M 1% /run shm 124M 0 124M 0% /dev/shm tmpfs 124M 0 124M 0% /tmp [root@alarm ~]# uname -a Linux alarm 3.1.10-13-ARCH #1 PREEMPT Mon Aug 20 15:46:18 UTC 2012 armv5tel GNU/Linux [root@alarm ~]# cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1191.11 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell SheevaPlug Reference Board Revision : 0000 Serial : 0000000000000000 [root@alarm ~]# cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1191.11 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell SheevaPlug Reference Board Revision : 0000 Serial : 0000000000000000 [root@alarm ~]#
After it, follow the instruction on lifehacker and https://wiki.archlinux.org/index.php/DeveloperWiki:usrlib
pacman -Syu --ignore glibc pacman -Su mkinitcpio -p linux
To install rsync, use
pacman -S rsync
Unfortunately, I cannot bypass the error
[root@alarm ~]# pacman -Suy rsync :: Synchronizing package databases... core is up to date extra is up to date community is up to date alarm is up to date aur is up to date :: Starting full system upgrade... resolving dependencies... looking for inter-conflicts... Targets (2): glibc-2.16.0-4 rsync-3.0.9-5 Total Installed Size: 34.26 MiB Net Upgrade Size: 0.61 MiB Proceed with installation? [Y/n] (2/2) checking package integrity [#############################] 100% (2/2) loading package files [#############################] 100% (2/2) checking for file conflicts [#############################] 100% error: failed to commit transaction (conflicting files) glibc: /lib exists in filesystem Errors occurred, no packages were upgraded.
Install Debian on pogoplug
See the instruction on http://projects.doozan.com/debian.
- Find your devices's IP address and connect via SSH:
- Partition your flash drive with fdisk (or gparted):
fdisk /dev/sda # Configure partion 1 as Linux (I'd recommend making this at least 512Mb. The default bare-bones installation uses 280Mb.) # Configure partion 2 as Linux Swap (I used 256MB. Adjust according to your anticipated memory usage.) # Set partition 1 active
See http://www.terminally-incoherent.com/blog/2012/09/19/set-up-a-home-linux-server-for-30-with-pogoplug/ for clear explanation of using fdisk.
- Download and run the Debian Wheezy installer:
cd /tmp wget http://projects.doozan.com/debian/kirkwood.debian-wheezy.sh chmod +x kirkwood.debian-wheezy.sh export PATH=$PATH:/usr/sbin:/sbin ./kirkwood.debian-wheezy.sh
- Alternatively, you can choose to install Debian Squeeze with the following commands:
cd /tmp wget http://projects.doozan.com/debian/dockstar.debian-squeeze.sh chmod +x dockstar.debian-squeeze.sh export PATH=$PATH:/usr/sbin:/sbin ./dockstar.debian-squeeze.sh
The script will take some time to download the debian images and extract them to your flash drive. The total install time will vary with the speed of your flash drive and your Internet connection. On my system, it takes about 20 minutes. Once it's finished, you can reboot into your new Debian install.
After your device reboots, it may have a different IP address (it's identifying as 'Debian' to the DHCP server now instead of 'Pogoplug').
The default root password in Debian is 'root'. After you've logged in, you should change the root password and configure /etc/apt/sources.list to point to a Debian mirror near you.
passwd nano /etc/apt/sources.list
After reboot, the debian system is very lean too
root@debian:~# df -h Filesystem Size Used Avail Use% Mounted on rootfs 3.2G 260M 2.8G 9% / none 123M 36K 123M 1% /dev /dev/sda1 3.2G 260M 2.8G 9% / tmpfs 125M 0 125M 0% /lib/init/rw tmpfs 125M 0 125M 0% /dev/shm tmpfs 125M 0 125M 0% /tmp root@debian:~# free total used free shared buffers cached Mem: 255672 19636 236036 0 816 11104 -/+ buffers/cache: 7716 247956 Swap: 535544 0 535544
After I install LAMP, the memory uses 250MB. However, after I reboot the pogoplug, it reduces to 66MB.
root@debian:~# free total used free shared buffers cached Mem: 255672 66076 189596 0 1244 37000 -/+ buffers/cache: 27832 227840 Swap: 535544 0 535544
If I want to add a USB drive, it is safe NOT to insert the 2nd USB drive when the system boot. It is better to insert the 2nd USB drive after the system has booted. In my experience, if I insert the 2nd USB drive when the system boot, the first USB drive will be mounted as /dev/sdb1 but I want the 2nd USB drive mounted as /dev/sdb1.
Install build-essential. Should be fine. See Home automation link below.
Other resources:
- http://wiki.daviddarts.com/Pogoplug
- http://fzr.squeenus.com/debian/
- http://www.terminally-incoherent.com/blog/2012/09/19/set-up-a-home-linux-server-for-30-with-pogoplug/
- http://planetgary.blogspot.com/2011/08/home-automation-on-debian-powered.html Home automation
- http://bastel.dyndns.info/~dockstar/debian/ install some essential tools
- http://www.debian.org/ports/arm/ ARM port on debian
Make it more powerful
Backup server (RAID 1)
Crash plan.
Remote file access by AjaXplorer AjaXplorer
Cloud by OpenStack
BitTorrent by Transmission
- http://naich.net/wordpress/?p=574
- http://archlinuxarm.org/support/guides/applications/transmission
- http://aaronrandall.com/blog/installing-a-bittorrent-client-on-the-pogoplug/ and here.
- From transmission wiki specific to Debian. How to edit configuration file.
Note: Must stop the transmission-daemon before modifying the setting.
apt-get install transmission-cli transmission-common transmission-daemon # stop transmission first before change the setting /etc/init.d/transmission-daemon stop nano /etc/transmission-daemon/settings.json # change “download-dir”, “incomplete-dir” # change rpc-whitelist to "*" or your remote IP # change "rpc-username" , # "rpc-password" (this will then be hashed, so don't worry) # change "speed-limit-up": 10, # "speed-limit-up-enabled": true, # change upload-limit (KB/s) from 100 to 10 # upload-limit-enabled from 0 to 1 mkdir /mnt/usb/Downloads chmod -R 777 /mnt/usb/Downloads transmission-daemon /etc/init.d/transmission-daemon stop # Remember to shut down transmission before editing the settings.json file /etc/init.d/transmission-daemon start
Open browser http://hostname:9091/transmission/web
For pirat*, we can download torr* by using (see here)
http://torrents.thepiratebay.se/xxxxxx/My.torrent
So we don't need to download the torrent in our local machine. In fact, we can just right click 'Get this torrent' button and copy the link. Then we can open the url in transmission/web.
Note: the transfer speed from pogoplug to ubuntu is about 5.5MB/s.
SFTP server by Cyberduck
WebDAV by owncloud.org
SAMBA server
So every computer in LAN can access the contents there. On Windows computer, type \\192.168.1.3\ShareFolder, for example.
- UPnP media server will stream the media content on your Pogoplug to any compatible media player such as the PlayStation 3, Microsoft Xbox 360, and D-Link Boxee Box over your local network.
Email alerts
Print server
NAS4Free
- NAS4Free from pcworld.com.
- FreeNAS and UPnP setups from homemultimedianetwork.com.
- A non-English youtube video demonstrates installing NAS4Free on Virtualbox (it works as I tested). The important thing is the NAS4Free is based on BSD. So we should select BSD & 64-bit instead Linux. I am using NAS4Free-x64-LivdCD-9.3.0.2.1349.iso.
- WebGUI interface and setup.
- After I enable ssh and allows root login, I can see the default shell is tcsh. See the document in here.
- If we have added IDE disks from virtual machine setting, we can add them using the web management. To do that, we need to Add disk by clicking '+' sign, apply changes, format disks, and mount disks (mount point name can be 'Data1', 'Data2', ...). These disks will be available via /mnt/Data1 or /mnt/Data2. See the document in here.
- Lots of services: CIFS/SMB (Samba v4.x), FTP, NFS, TFTP, AFP, RSYNC, Unison, iSCSI (initiator and target), HAST, CARP, Bridge, UPnP, Webserver, and Bittorent.
- UPnP service works like a charm. Note that I need to check the checkbox in 'Enable' (on the topright corner) for it to work. On the client side, I use ubuntu's VLC (v2.1.4) to test. In VLC, click View -> Playlist ('Ctrl+l') and then select Local Network -> Universal Plug 'n' Play. I have tested streaming mp3 and mp4 files. For Android devices, we can try the BubbleUPnP app.
- How do I stream photos? Photos do not show up on VLC or Android UPnP software like BubbleUPnP, AirWire. The trick is to click Administrative Webgui url link and then click rebuild/update database. After the fix, VLC can play photos as video (10 seconds for each) automatically and BubbleUPnP can play the photos too (users decide how long to stay on one image).
Compare to other NAS
- Synology DS712+ Diskless System Network Storage. The Synology's wiki page here.
- D-LINK DNS 320L 800 MHz Marvell 88F6281 (Kirkwood), 128 MB. http://dns323.kood.org/dns-320
- ReadyNAS from Netgear
- Western Digital My Book Live Duo 4TB 800MHz PowerPC CPU and 256MB of memory.
- ZyXEL NSA320 and NSA310 Diskless
- QNAP TS-212-E Diskless System Network Storage $119+6 shipping
- Iomega StoreCenter ix2-dl review