用ubuntu来做NAS OS, 实现各种功能
本帖最后由 trott 于 2013-9-27 10:51 编辑我决定另开一贴,来讨论用ubuntu作为nas os, 来实现各种功能的可能,我自己不是用ubuntu的高手,所以也只能边google边学习了。
我现在的配置是HP N40L,1个SSD硬盘,3个3T的硬盘。其中SSD用作系统盘,2个硬盘作为主要的数据存储盘,1个硬盘作为重要数据备份盘。为了比较容易方便添加新硬盘,我比较过zfs和btrfs,最后决定使用btrfs,由于btrfs还在开发,所以在新的kernel种效果比较好,所以要升级倒最新的kernel
Step 1:
下载最新的Ubuntu Server(现在是13.04), 去http://unetbootin.sourceforge.net/,下载unetbootin,把下载的iso写u盘上,然后从u盘重启安装,安装过程网上很多, 不过我在分区的时候选择了手动,然后分成3部分:
/boot, 1g, ext2
/swap, 8g, swap
/,110g,btrfs
Step 2:
因为要用btrfs,所以需要比较新的kernel,你可以到以下网址现在,现在最新稳定的好像是3.11.1
http://kernel.ubuntu.com/~kernel-ppa/mainline/sudo -i
cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-headers-3.11.1-031101-generic_3.11.1-031101.201309141102_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-headers-3.11.1-031101_3.11.1-031101.201309141102_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.1-saucy/linux-image-3.11.1-031101-generic_3.11.1-031101.201309141102_amd64.deb
dpkg -i *.deb结束以后重启。
Step 3:
把其中2个硬盘做成数据存贮盘,-L 后面的参数是label, -d后面是只用什么方式存贮数据,可以选raid0, raid1, raid10 and single,因为我有另外的备份盘,所以希望可以利用所有的硬盘空间,所以选了single,当然raid0也可以达到相同的目的,不过single的话即使其中有硬盘挂了,在其他硬盘上的数据有可能在的,这点比raid0好,所以我选了single,-m只的是metadata,这个如果挂了的话,数据都挂,所以我选了raid1sudo mkfs.btrfs -L downloads -d single -m raid1 /dev/sdb /dev/sdc和上面类似,建立备份盘, 当然这次只有一个硬盘:sudo mkfs.btrfs -L backup /dev/sda这是用命令:sudo btrfs fi show, 可以看到类似的信息(我的系统用了一段时间了,上面有不少数据)
Label: 'downloads'uuid: a545008a-6558-44cc-a42a-8597b844506e
Total devices 2 FS bytes used 1.42TB
devid 1 size 2.73TB used 745.03GB path /dev/sdb
devid 2 size 2.73TB used 745.01GB path /dev/sdc
Label: 'backup'uuid: 126fd46f-2e09-48b2-9ebb-ba87868d34ca
Total devices 1 FS bytes used 1.17GB
devid 1 size 2.73TB used 31.04GB path /dev/sda
Step 4:
ok,现在要把数据盘和备份盘mount到系统上,同时也要因为我的系统盘是ssd的,所以mount option可以优化一下(这个可以google,也很多文章),我们在根目录下建立files, 和backup目录用来mount 数据盘和备份盘,然后编辑/etc/fstab文件sudo -i
mkdir /files /backup
nano /etc/fstab修改后的结果是:# <file system> <mount point> <type><options> <dump><pass># / was on /dev/sdb2 during installation
UUID=9dc8cbfe-311f-4d85-ade9-64a3bb27708e / btrfs defaults,compress=lzo,noatime,nodiratime,autodefrag,subvol=@ 0 1
(上面这行在defaults后增加,compress=lzo,noatime,nodiratime,autodefrag)
# /boot was on /dev/sdb1 during installation
UUID=c40172f1-924b-4c7f-863e-9f88e54b4d56 /boot ext2 defaults 0 2
# /home was on /dev/sdb2 during installation
UUID=9dc8cbfe-311f-4d85-ade9-64a3bb27708e /home btrfs defaults,compress=lzo,noatime,nodiratime,autodefrag,subvol=@home 0 2
(上面这行在defaults后增加,compress=lzo,noatime,nodiratime,autodefrag)
# swap was on /dev/sdb5 during installation
UUID=e44f7877-2b8d-48e4-b48c-29fdbcba840f none swap sw 0 0
(下面3行都是加出来的)
tmpfs /tmp tmpfs defaults,noatime,mode=1777 00
UUID=a545008a-6558-44cc-a42a-8597b844506e /files btrfs defaults,autodefrag,space_cache 0 2
UUID=126fd46f-2e09-48b2-9ebb-ba87868d34ca /backup btrfs defaults,compress=lzo,autodefrag,space_cache 0 2
其中compress=lzo告诉btrfs自动对文件做压缩,compress=lzo只自动做defragement
保存文件,重启系统。
Step 5:
虽然我们在fstab文件里对compress=lzo,compress=lzo,但他们只对后面的文件起作用,而ssd上的文件在都是装系统的时候就写上去了,所以我们要运行命令,对已经存在的文件做应用:find / -xdev -type f -print -exec btrfs fi defrag -clzo '{}' \;
find /home -xdev -type f -print -exec btrfs fi defrag -clzo '{}' \;其实在运行这两个命令的前后你可以运行 btrfs fi df / , btrfs fi df /home, 你可以发现数据的使用空间变小了,因为被压缩了
一大堆命令~~~~~ 重頭開始,太敬佩!!! NAS其实追求的是安全,方便,稳定。 nas新思路,不错,顶一下。 楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
在我看来,目前仅仅相当于在硬件RAID卡面划分了几个VD而已啊.
期待楼主的续集,ubuntu相比起Windows可能找齐当前Synology上面的应用要容易些. xara 发表于 2013-9-27 08:22
楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
在我看来,目前仅仅相当于在硬件RAID卡面划分了几个V ...
同关注。也在琢磨。
毕竟还是全开放平台来的放心些。 请教:sudo mkfs.btrfs -L downloads -d single -m raid1 /dev/sdb /dev/sdd /dev/sdc这里的 /dev/sdd 是什么?
另外,Raid1的安全性比单硬盘高,为什么用单硬盘备份重要数据?2个硬盘作为主要的数据存储盘,1个硬盘作为重要数据备份盘 希望楼主能探索出一条新路,造福坛友。另,nas的各方应用才是关键,系统搭建才是第一步。 可惜目前btrfs的raid5还是试验阶段,不然,我也上btrfs了。 高手,请问ubuntu有相应的手机或者平板上的软件可以使用吗 xara 发表于 2013-9-27 08:22
楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
在我看来,目前仅仅相当于在硬件RAID卡面划分了几个V ...
当然有,还在慢慢写 deed 发表于 2013-9-27 08:51
请教:这里的 /dev/sdd 是什么?
另外,Raid1的安全性比单硬盘高,为什么用单硬盘备份重要数据? ...
1. /dev/sdd实际上是我的系统盘,那个命令打错了,应该没有 /dev/sdd的,我改过了。
2. 首先raid1不等于备份,我现在重要的数据相当于在数据盘上有1份,在备份盘上有1份,同时我还会备份到台式机上(还在研究备份到百度网盘) alfred 发表于 2013-9-27 09:54
高手,请问ubuntu有相应的手机或者平板上的软件可以使用吗
这个取决于你装的软件,到时候大家在讨论好了 继续关注中~~~ 本帖最后由 trott 于 2013-9-30 12:54 编辑
二:下载软件篇,这里主要介绍在安装下载软件
1. aria2 - http://aria2.sourceforge.net/
arai2在ubuntu的软件库里的不是最新的,所以采用自己编译安装sudo apt-get install build-essential pkg-config git-core libssl-dev libxml2-dev libc-ares-dev zlib1g-dev libsqlite3-dev libcppunit-dev dh-autoreconf libgcrypt-dev
cd /usr/src
sudo git clone git://github.com/tatsuhiro-t/aria2.git
cd aria2
sudo autoreconf -i
sudo ./configure
sudo make
sudo make install结束后运行 aria2c -v 确认是不是安装正确,配置aria2, 使它运行在daemon模式mkdir ~/.aria2
cat > ~/.aria2/aria2.conf <<END
daemon=true
enable-rpc=true
rpc-listen-all=true
dir=改成你自己的保存下载的目录
continue=true
max-connection-per-server=5
retry-wait=30
allow-overwrite=true
disk-cache=200M
file-allocation=falloc
END配置aria2的init脚本,使它开机自动启动sudo wget -O /etc/init.d/aria2 https://dl.dropboxusercontent.com/u/12085779/aria2
sudo sed -ibk -e "s/<NAME>/$USER/g" /etc/init.d/aria2
sudo chmod +x /etc/init.d/aria2
sudo update-rc.d aria2 defaults
sudo /etc/init.d/aria2 start我用的是浏览器是chrome,上面有个扩展,可以把迅雷/QQ旋风/百度网盘的链接直接输出到aria2c下载,扩展的地址如下:
https://chrome.google.com/websto ... anifedeged?hl=zh-CN
chrome还有个yaaw的扩展,相当于aria2的web gui,但是我用下来不是很好用,所以我还是决定用他推荐的web gui, web server用lighttpdsudo apt-get install lighttpd php5 php5-cli php5-curl
cd /var/www
sudo git clone https://github.com/ziahamza/webui-aria2.git aria2现在可以用 http://nas ip/aria2 访问了
deluge在ubuntu的软件源里是最新版,所以直接安装就行sudo apt-get install deluged deluge-webui
sudo rm -rf /etc/init.d/deluged /var/log/deluged
sudo wget -O /etc/init.d/deluge-daemon https://dl.dropboxusercontent.com/u/12085779/deluge-daemon
sudo chmod +x /etc/init.d/deluge-daemon
sudo wget -O /etc/default/deluge-daemon https://dl.dropboxusercontent.com/u/12085779/deluge-default
sudo sed -ibk -e "s/<NAME>/$USER/g" /etc/default/deluge-daemon
sudo mkdir /var/log/deluge
sudo chown -R $USER.$USER /var/log/deluge
sudo update-rc.d deluge-daemon defaults
sudo /etc/init.d/deluge-daemon start
sudo /etc/init.d/deluge-daemon restart
学习 中关注中 曾经考虑过用ubuntu server trott 发表于 2013-9-27 10:58
这个取决于你装的软件,到时候大家在讨论好了
{:7_193:}我会继续关注本帖的 ubutu也有个web管理的插件的 装好就可以web管理了 楼主可以网上找找那个东西用了很方便的