This file system is perfect to be used in a NAS. You can check Why ZFS over EXT4 or other FS at the bottom of this article. Install ZFS Before we can start using ZFS, we need to install it. Simply add the repository to apt-get with the following command:
1 2 |
apt-add-repository --yes ppa:zfs-native/stable |
1 2 |
apt-get update |
1 2 |
apt-get install ubuntu-zfs |
You should get something like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
~/root# apt-get install ubuntu-zfs Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: build-essential dkms dpkg-dev fakeroot g++ g++-4.8 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot libnvpair1 libstdc++-4.8-dev libuutil1 libzfs2 libzpool2 mountall spl spl-dkms zfs-dkms zfs-doc zfsutils Suggested packages: debhelper debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg libstdc++-4.8-doc zfs-auto-snapshot nfs-kernel-server zfs-initramfs The following NEW packages will be installed: build-essential dkms dpkg-dev fakeroot g++ g++-4.8 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libfakeroot libnvpair1 libstdc++-4.8-dev libuutil1 libzfs2 libzpool2 spl spl-dkms ubuntu-zfs zfs-dkms zfs-doc zfsutils The following packages will be upgraded: mountall 1 upgraded, 21 newly installed, 0 to remove and 0 not upgraded. Need to get 11.3 MB of archives. After this operation, 46.0 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main mountall amd64 2.53-zfs1 [69.9 kB] Get:2 http://fr.archive.ubuntu.com/ubuntu/ trusty/main libstdc++-4.8-dev amd64 4.8.2-19ubuntu1 [1050 kB] Get:3 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main dkms all 2.2.0.3-1.1ubuntu5.14.04+zfs9~trusty [72.0 kB] Get:4 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main spl-dkms all 0.6.3-3~trusty [390 kB] Get:5 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main zfs-doc amd64 0.6.3-5~trusty [60.2 kB] Get:6 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main zfs-dkms amd64 0.6.3-5~trusty [988 kB] Get:7 http://fr.archive.ubuntu.com/ubuntu/ trusty/main g++-4.8 amd64 4.8.2-19ubuntu1 [7038 kB] Get:8 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main spl amd64 0.6.3-3~trusty [16.3 kB] Get:9 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main libuutil1 amd64 0.6.3-5~trusty [27.3 kB] Get:10 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main libnvpair1 amd64 0.6.3-5~trusty [22.9 kB] Get:11 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main libzpool2 amd64 0.6.3-5~trusty [355 kB] Get:12 http://fr.archive.ubuntu.com/ubuntu/ trusty/main g++ amd64 4:4.8.2-1ubuntu6 [1490 B] Get:13 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main libzfs2 amd64 0.6.3-5~trusty [101 kB] Get:14 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main dpkg-dev all 1.17.5ubuntu5.3 [726 kB] Get:15 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main zfsutils amd64 0.6.3-5~trusty [254 kB] Get:16 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ trusty/main ubuntu-zfs amd64 8~trusty [1752 B] Get:17 http://fr.archive.ubuntu.com/ubuntu/ trusty/main build-essential amd64 11.6ubuntu6 [4838 B] Get:18 http://fr.archive.ubuntu.com/ubuntu/ trusty/main libfakeroot amd64 1.20-3ubuntu2 [25.4 kB] Get:19 http://fr.archive.ubuntu.com/ubuntu/ trusty/main fakeroot amd64 1.20-3ubuntu2 [55.0 kB] Get:20 http://fr.archive.ubuntu.com/ubuntu/ trusty/main libalgorithm-diff-perl all 1.19.02-3 [50.0 kB] Get:21 http://fr.archive.ubuntu.com/ubuntu/ trusty/main libalgorithm-diff-xs-perl amd64 0.04-2build4 [12.6 kB] Get:22 http://fr.archive.ubuntu.com/ubuntu/ trusty/main libalgorithm-merge-perl all 0.08-2 [12.7 kB] Fetched 11.3 MB in 4s (2465 kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_TIME = "fr_FR.UTF-8", LC_MONETARY = "fr_FR.UTF-8", LC_CTYPE = "UTF-8", LC_ADDRESS = "fr_FR.UTF-8", LC_TELEPHONE = "fr_FR.UTF-8", LC_NAME = "fr_FR.UTF-8", LC_MEASUREMENT = "fr_FR.UTF-8", LC_IDENTIFICATION = "fr_FR.UTF-8", LC_NUMERIC = "fr_FR.UTF-8", LC_PAPER = "fr_FR.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory (Reading database ... 197538 files and directories currently installed.) Preparing to unpack .../mountall_2.53-zfs1_amd64.deb ... Unpacking mountall (2.53-zfs1) over (2.53) ... Selecting previously unselected package libstdc++-4.8-dev:amd64. Preparing to unpack .../libstdc++-4.8-dev_4.8.2-19ubuntu1_amd64.deb ... Unpacking libstdc++-4.8-dev:amd64 (4.8.2-19ubuntu1) ... Selecting previously unselected package g++-4.8. Preparing to unpack .../g++-4.8_4.8.2-19ubuntu1_amd64.deb ... Unpacking g++-4.8 (4.8.2-19ubuntu1) ... Selecting previously unselected package g++. Preparing to unpack .../g++_4%3a4.8.2-1ubuntu6_amd64.deb ... Unpacking g++ (4:4.8.2-1ubuntu6) ... Selecting previously unselected package dpkg-dev. Preparing to unpack .../dpkg-dev_1.17.5ubuntu5.3_all.deb ... Unpacking dpkg-dev (1.17.5ubuntu5.3) ... Selecting previously unselected package build-essential. Preparing to unpack .../build-essential_11.6ubuntu6_amd64.deb ... Unpacking build-essential (11.6ubuntu6) ... Selecting previously unselected package dkms. Preparing to unpack .../dkms_2.2.0.3-1.1ubuntu5.14.04+zfs9~trusty_all.deb ... Unpacking dkms (2.2.0.3-1.1ubuntu5.14.04+zfs9~trusty) ... Selecting previously unselected package spl-dkms. Preparing to unpack .../spl-dkms_0.6.3-3~trusty_all.deb ... Unpacking spl-dkms (0.6.3-3~trusty) ... Selecting previously unselected package zfs-doc. Preparing to unpack .../zfs-doc_0.6.3-5~trusty_amd64.deb ... Unpacking zfs-doc (0.6.3-5~trusty) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up dkms (2.2.0.3-1.1ubuntu5.14.04+zfs9~trusty) ... Setting up spl-dkms (0.6.3-3~trusty) ... Loading new spl-0.6.3 DKMS files... First Installation: checking all kernels... Building only for 3.13.0-43-generic Building initial module for 3.13.0-43-generic Done. spl: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ splat.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ Running the post_install script: depmod....... DKMS: install completed. Selecting previously unselected package zfs-dkms. (Reading database ... 198956 files and directories currently installed.) Preparing to unpack .../zfs-dkms_0.6.3-5~trusty_amd64.deb ... Unpacking zfs-dkms (0.6.3-5~trusty) ... Selecting previously unselected package libfakeroot:amd64. Preparing to unpack .../libfakeroot_1.20-3ubuntu2_amd64.deb ... Unpacking libfakeroot:amd64 (1.20-3ubuntu2) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.20-3ubuntu2_amd64.deb ... Unpacking fakeroot (1.20-3ubuntu2) ... Selecting previously unselected package libalgorithm-diff-perl. Preparing to unpack .../libalgorithm-diff-perl_1.19.02-3_all.deb ... Unpacking libalgorithm-diff-perl (1.19.02-3) ... Selecting previously unselected package libalgorithm-diff-xs-perl. Preparing to unpack .../libalgorithm-diff-xs-perl_0.04-2build4_amd64.deb ... Unpacking libalgorithm-diff-xs-perl (0.04-2build4) ... Selecting previously unselected package libalgorithm-merge-perl. Preparing to unpack .../libalgorithm-merge-perl_0.08-2_all.deb ... Unpacking libalgorithm-merge-perl (0.08-2) ... Selecting previously unselected package spl. Preparing to unpack .../spl_0.6.3-3~trusty_amd64.deb ... Unpacking spl (0.6.3-3~trusty) ... Selecting previously unselected package libuutil1. Preparing to unpack .../libuutil1_0.6.3-5~trusty_amd64.deb ... Unpacking libuutil1 (0.6.3-5~trusty) ... Selecting previously unselected package libnvpair1. Preparing to unpack .../libnvpair1_0.6.3-5~trusty_amd64.deb ... Unpacking libnvpair1 (0.6.3-5~trusty) ... Selecting previously unselected package libzpool2. Preparing to unpack .../libzpool2_0.6.3-5~trusty_amd64.deb ... Unpacking libzpool2 (0.6.3-5~trusty) ... Selecting previously unselected package libzfs2. Preparing to unpack .../libzfs2_0.6.3-5~trusty_amd64.deb ... Unpacking libzfs2 (0.6.3-5~trusty) ... Selecting previously unselected package zfsutils. Preparing to unpack .../zfsutils_0.6.3-5~trusty_amd64.deb ... Unpacking zfsutils (0.6.3-5~trusty) ... Selecting previously unselected package ubuntu-zfs. Preparing to unpack .../ubuntu-zfs_8~trusty_amd64.deb ... Unpacking ubuntu-zfs (8~trusty) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-3.13.0-43-generic Processing triggers for ureadahead (0.100.0-16) ... Setting up mountall (2.53-zfs1) ... Setting up libstdc++-4.8-dev:amd64 (4.8.2-19ubuntu1) ... Setting up g++-4.8 (4.8.2-19ubuntu1) ... Setting up g++ (4:4.8.2-1ubuntu6) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Setting up dpkg-dev (1.17.5ubuntu5.3) ... Setting up build-essential (11.6ubuntu6) ... Setting up zfs-doc (0.6.3-5~trusty) ... Setting up zfs-dkms (0.6.3-5~trusty) ... Loading new zfs-0.6.3 DKMS files... First Installation: checking all kernels... Building only for 3.13.0-43-generic Building initial module for 3.13.0-43-generic Done. zavl: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ zcommon.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ znvpair.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ zpios.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ zunicode.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ zfs.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.13.0-43-generic/updates/dkms/ depmod.... DKMS: install completed. Setting up libfakeroot:amd64 (1.20-3ubuntu2) ... Setting up fakeroot (1.20-3ubuntu2) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Setting up libalgorithm-diff-perl (1.19.02-3) ... Setting up libalgorithm-diff-xs-perl (0.04-2build4) ... Setting up libalgorithm-merge-perl (0.08-2) ... Setting up spl (0.6.3-3~trusty) ... Setting up libuutil1 (0.6.3-5~trusty) ... Setting up libnvpair1 (0.6.3-5~trusty) ... Setting up libzpool2 (0.6.3-5~trusty) ... Setting up libzfs2 (0.6.3-5~trusty) ... Setting up zfsutils (0.6.3-5~trusty) ... Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-3.13.0-43-generic Processing triggers for ureadahead (0.100.0-16) ... Setting up ubuntu-zfs (8~trusty) ... Processing triggers for libc-bin (2.19-0ubuntu6.4) ... |
Reboot. …