NAS: Difference between revisions
Line 262: | Line 262: | ||
== Compare to other NAS == | == Compare to other NAS == | ||
* [http://www.synology.com/products/product.php?product_name=DS712%2B Synology DS712+ Diskless System Network Storage] | * [http://www.synology.com/products/product.php?product_name=DS712%2B Synology DS712+ Diskless System Network Storage]. The Synology's wiki page [http://forum.synology.com/wiki/index.php/Home here]. | ||
* [http://www.dlink.com/uk/en/home-solutions/share/sharecenter/dns-320l-sharecenter-2-bay-cloud-storage-enclosure D-LINK DNS 320L] 800 MHz Marvell 88F6281 (Kirkwood), 128 MB. http://dns323.kood.org/dns-320 | * [http://www.dlink.com/uk/en/home-solutions/share/sharecenter/dns-320l-sharecenter-2-bay-cloud-storage-enclosure D-LINK DNS 320L] 800 MHz Marvell 88F6281 (Kirkwood), 128 MB. http://dns323.kood.org/dns-320 | ||
* ReadyNAS from Netgear | * ReadyNAS from Netgear |
Revision as of 22:33, 25 November 2012
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 (AjaXplorer).
- Cloud. (OpenStack)
- BitTorrentTM client
apt-get install transmission-cli transmission-common transmission-daemon 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. Cyberduck.
- WebDAV, 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.
- Power saving mode (not needed)
- FreeNAS
- Install R.
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