找回密码
 立即注册
[string global_login_extra]

QQ登录

只需一步,快速开始

扫一扫,访问移动社区

查看: 8306|回复: 41

[分享] 用ubuntu来做NAS OS, 实现各种功能

[复制链接]
  • TA的每日心情

    2014-4-15 23:55
  • 签到天数: 85 天

    [LV.6]常住居民II

    522

    丝瓜

    349

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 01:46:39 | 显示全部楼层 |阅读模式

    注册后可查看完整内容!

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    本帖最后由 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/
    1. sudo -i
    2. cd /tmp
    3. 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
    4. 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
    5. 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
    6. dpkg -i *.deb
    复制代码
    结束以后重启。

    Step 3:
    把其中2个硬盘做成数据存贮盘,-L 后面的参数是label, -d后面是只用什么方式存贮数据,可以选raid0, raid1, raid10 and single,因为我有另外的备份盘,所以希望可以利用所有的硬盘空间,所以选了single,当然raid0也可以达到相同的目的,不过single的话即使其中有硬盘挂了,在其他硬盘上的数据有可能在的,这点比raid0好,所以我选了single,-m只的是metadata,这个如果挂了的话,数据都挂,所以我选了raid1
    1. sudo mkfs.btrfs -L downloads -d single -m raid1 /dev/sdb /dev/sdc
    复制代码
    和上面类似,建立备份盘, 当然这次只有一个硬盘:
    1. 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文件
    1. sudo -i
    2. mkdir /files /backup
    3. 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   0  0
    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上的文件在都是装系统的时候就写上去了,所以我们要运行命令,对已经存在的文件做应用:
    1. find / -xdev -type f -print -exec btrfs fi defrag -clzo '{}' \;
    2. find /home -xdev -type f -print -exec btrfs fi defrag -clzo '{}' \;
    复制代码
    其实在运行这两个命令的前后你可以运行 btrfs fi df / , btrfs fi df /home, 你可以发现数据的使用空间变小了,因为被压缩了


  • TA的每日心情
    开心
    2014-5-28 09:29
  • 签到天数: 224 天

    [LV.7]常住居民III

    1235

    丝瓜

    599

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 01:49:16 | 显示全部楼层
    一大堆命令~~~~~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-29 01:13
  • 签到天数: 154 天

    [LV.7]常住居民III

    545

    丝瓜

    735

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 02:43:27 | 显示全部楼层
    重頭開始,太敬佩!!!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-28 12:24
  • 签到天数: 46 天

    [LV.5]常住居民I

    238

    丝瓜

    189

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 07:29:09 | 显示全部楼层
    NAS其实追求的是安全,方便,稳定。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-27 09:04
  • 签到天数: 65 天

    [LV.6]常住居民II

    228

    丝瓜

    578

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 08:15:21 | 显示全部楼层
    nas新思路,不错,顶一下。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-15 14:13
  • 签到天数: 224 天

    [LV.7]常住居民III

    1264

    丝瓜

    480

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 08:22:48 | 显示全部楼层
    楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
    在我看来,目前仅仅相当于在硬件RAID卡面划分了几个VD而已啊.
    期待楼主的续集,ubuntu相比起Windows可能找齐当前Synology上面的应用要容易些.

    点评

    当然有,还在慢慢写  详情 回复 发表于 2013-9-27 10:50
    同关注。也在琢磨。 毕竟还是全开放平台来的放心些。  详情 回复 发表于 2013-9-27 08:45
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2014-5-25 18:00
  • 签到天数: 65 天

    [LV.6]常住居民II

    188

    丝瓜

    375

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 08:45:06 | 显示全部楼层
    xara 发表于 2013-9-27 08:22
    楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
    在我看来,目前仅仅相当于在硬件RAID卡面划分了几个V ...

    同关注。也在琢磨。

    毕竟还是全开放平台来的放心些。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-11-1 11:31
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    56

    丝瓜

    96

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 08:51:41 | 显示全部楼层
    请教:
    1. sudo mkfs.btrfs -L downloads -d single -m raid1 /dev/sdb /dev/sdd /dev/sdc
    复制代码
    这里的 /dev/sdd 是什么?

    另外,Raid1的安全性比单硬盘高,为什么用单硬盘备份重要数据?
    1. 2个硬盘作为主要的数据存储盘,1个硬盘作为重要数据备份盘
    复制代码

    点评

    1. /dev/sdd实际上是我的系统盘,那个命令打错了,应该没有 /dev/sdd的,我改过了。 2. 首先raid1不等于备份,我现在重要的数据相当于在数据盘上有1份,在备份盘上有1份,同时我还会备份到台式机上(还在研究备份到  详情 回复 发表于 2013-9-27 10:55
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-5-15 09:50
  • 签到天数: 187 天

    [LV.7]常住居民III

    795

    丝瓜

    599

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 08:58:48 | 显示全部楼层
    希望楼主能探索出一条新路,造福坛友。另,nas的各方应用才是关键,系统搭建才是第一步。
    回复

    使用道具 举报

  • TA的每日心情

    2014-5-27 23:47
  • 签到天数: 52 天

    [LV.5]常住居民I

    209

    丝瓜

    74

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 09:36:29 | 显示全部楼层
    可惜目前btrfs的raid5还是试验阶段,不然,我也上btrfs了。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-2-1 10:24
  • 签到天数: 92 天

    [LV.6]常住居民II

    203

    丝瓜

    640

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 09:54:01 | 显示全部楼层
    高手,请问ubuntu有相应的手机或者平板上的软件可以使用吗

    点评

    这个取决于你装的软件,到时候大家在讨论好了  详情 回复 发表于 2013-9-27 10:58
    [发帖际遇]: 一个袋子砸在了 alfred 头上,alfred 赚了 1 条 丝瓜. 幸运榜 / 衰神榜
    回复

    使用道具 举报

  • TA的每日心情

    2014-4-15 23:55
  • 签到天数: 85 天

    [LV.6]常住居民II

    522

    丝瓜

    349

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2013-9-27 10:50:59 | 显示全部楼层
    xara 发表于 2013-9-27 08:22
    楼主这个有续集吗?如果没有,远远不能称之为"各种应用".
    在我看来,目前仅仅相当于在硬件RAID卡面划分了几个V ...

    当然有,还在慢慢写
    回复

    使用道具 举报

  • TA的每日心情

    2014-4-15 23:55
  • 签到天数: 85 天

    [LV.6]常住居民II

    522

    丝瓜

    349

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2013-9-27 10:55:43 | 显示全部楼层
    deed 发表于 2013-9-27 08:51
    请教:这里的 /dev/sdd 是什么?

    另外,Raid1的安全性比单硬盘高,为什么用单硬盘备份重要数据? ...

    1. /dev/sdd实际上是我的系统盘,那个命令打错了,应该没有 /dev/sdd的,我改过了。
    2. 首先raid1不等于备份,我现在重要的数据相当于在数据盘上有1份,在备份盘上有1份,同时我还会备份到台式机上(还在研究备份到百度网盘)
    回复

    使用道具 举报

  • TA的每日心情

    2014-4-15 23:55
  • 签到天数: 85 天

    [LV.6]常住居民II

    522

    丝瓜

    349

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2013-9-27 10:58:17 | 显示全部楼层
    alfred 发表于 2013-9-27 09:54
    高手,请问ubuntu有相应的手机或者平板上的软件可以使用吗

    这个取决于你装的软件,到时候大家在讨论好了

    点评

    我会继续关注本帖的  详情 回复 发表于 2013-9-27 13:08
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-12-24 00:01
  • 签到天数: 57 天

    [LV.5]常住居民I

    112

    丝瓜

    120

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 10:59:47 | 显示全部楼层
    继续关注中~~~
    回复

    使用道具 举报

  • TA的每日心情

    2014-4-15 23:55
  • 签到天数: 85 天

    [LV.6]常住居民II

    522

    丝瓜

    349

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2013-9-27 12:31:41 | 显示全部楼层
    本帖最后由 trott 于 2013-9-30 12:54 编辑

    二:下载软件篇,这里主要介绍在安装下载软件
    1. aria2 - http://aria2.sourceforge.net/
    arai2在ubuntu的软件库里的不是最新的,所以采用自己编译安装
    1. 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
    2. cd /usr/src
    3. sudo git clone git://github.com/tatsuhiro-t/aria2.git
    4. cd aria2
    5. sudo autoreconf -i
    6. sudo ./configure
    7. sudo make
    8. sudo make install
    复制代码
    结束后运行 aria2c -v 确认是不是安装正确,配置aria2, 使它运行在daemon模式
    1. mkdir ~/.aria2
    2. cat > ~/.aria2/aria2.conf <<END
    3. daemon=true
    4. enable-rpc=true
    5. rpc-listen-all=true
    6. dir=改成你自己的保存下载的目录
    7. continue=true
    8. max-connection-per-server=5
    9. retry-wait=30
    10. allow-overwrite=true
    11. disk-cache=200M
    12. file-allocation=falloc
    13. END
    复制代码
    配置aria2的init脚本,使它开机自动启动
    1. sudo wget -O /etc/init.d/aria2 https://dl.dropboxusercontent.com/u/12085779/aria2
    2. sudo sed -ibk -e "s/<NAME>/$USER/g" /etc/init.d/aria2
    3. sudo chmod +x /etc/init.d/aria2
    4. sudo update-rc.d aria2 defaults
    5. 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用lighttpd
    1. sudo apt-get install lighttpd php5 php5-cli php5-curl
    2. cd /var/www
    3. sudo git clone https://github.com/ziahamza/webui-aria2.git aria2
    复制代码
    现在可以用 http://nas ip/aria2 访问了

    deluge在ubuntu的软件源里是最新版,所以直接安装就行
    1. sudo apt-get install deluged deluge-webui
    2. sudo rm -rf /etc/init.d/deluged /var/log/deluged
    3. sudo wget -O /etc/init.d/deluge-daemon https://dl.dropboxusercontent.com/u/12085779/deluge-daemon
    4. sudo chmod +x /etc/init.d/deluge-daemon
    5. sudo wget -O /etc/default/deluge-daemon https://dl.dropboxusercontent.com/u/12085779/deluge-default
    6. sudo sed -ibk -e "s/<NAME>/$USER/g" /etc/default/deluge-daemon
    7. sudo mkdir /var/log/deluge
    8. sudo chown -R $USER.$USER /var/log/deluge
    9. sudo update-rc.d deluge-daemon defaults
    10. sudo /etc/init.d/deluge-daemon start
    11. sudo /etc/init.d/deluge-daemon restart
    复制代码
    回复

    使用道具 举报

  • TA的每日心情

    2014-5-29 07:23
  • 签到天数: 215 天

    [LV.7]常住居民III

    684

    丝瓜

    685

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 12:45:03 | 显示全部楼层
    学习 中  关注中
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-4-8 13:20
  • 签到天数: 79 天

    [LV.6]常住居民II

    193

    丝瓜

    286

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 12:58:18 | 显示全部楼层
    曾经考虑过用ubuntu server
    [发帖际遇]: kenwood1999 乐于助人,奖励 3 . 幸运榜 / 衰神榜
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-2-1 10:24
  • 签到天数: 92 天

    [LV.6]常住居民II

    203

    丝瓜

    640

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 13:08:43 | 显示全部楼层
    trott 发表于 2013-9-27 10:58
    这个取决于你装的软件,到时候大家在讨论好了

    我会继续关注本帖的
    回复

    使用道具 举报

  • TA的每日心情

    2014-5-21 15:40
  • 签到天数: 82 天

    [LV.6]常住居民II

    624

    丝瓜

    276

    回帖

    0

    精华

    普通用户

    发表于 2013-9-27 15:24:28 | 显示全部楼层
    ubutu也有个web管理的插件的 装好就可以web管理了 楼主可以网上找找  那个东西用了很方便的

    点评

    webmin吗?确实,不过其实在shell下编辑以下conf文件也不难的  详情 回复 发表于 2013-9-27 15:39
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    [string global_footer]

    QQ|Archiver|手机版|小黑屋|第一纳斯网 ( 粤ICP备19046372号 )[string global_footerlink]

    GMT+8, 2024-11-24 12:53

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表