TA的每日心情 | 衰 2014-4-15 23:55 |
---|
签到天数: 85 天 [LV.6]常住居民II
普通用户
|
注册后可查看完整内容!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 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,这个如果挂了的话,数据都挂,所以我选了raid1- sudo 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 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上的文件在都是装系统的时候就写上去了,所以我们要运行命令,对已经存在的文件做应用:- 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, 你可以发现数据的使用空间变小了,因为被压缩了
|
|