forked from zfsonlinux/zfsonlinux.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lustre.html
137 lines (126 loc) · 4.84 KB
/
lustre.html
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
<html>
<head>
<title>ZFS on Linux</title>
<meta name="keyword" content="zfs, linux"/>
<meta name="description" content="ZFS Lustre Servers." />
<meta name="robots" content="all" />
</head>
<body>
<center>
<a href="index.html"><img title="Native ZFS on Linux" alt="Native ZFS on Linux" src="images/zfs-linux.png"></a>
<table width=80%>
<tr bgcolor="#aaaaaa">
<th colspan="2">ZFS Lustre Servers</th>
</tr>
<td colspan="2">
<p>With the release of <a href="http://lustre.opensfs.org">Lustre 2.4</a>
support for ZFS Lustre servers has arrived. Historically, Lustre
has only supported ext4/ldiskfs servers and while those servers have
performed well they do suffer from a number of well known <a href="http://
wiki.lustre.org/index.php/ZFS_and_Lustre">limitations</a>. Extending
Lustre to use a next generation filesystem like ZFS allows it to achieve
greater levels of scalability and introduces new functionality.</p>
ZFS Lustre Server Features:
<ul>
<li>
<a href="http://en.wikipedia.org/wiki/ZFS#Data_integrity">Data Integrity</a>
- Data is always checksummed and self repairing to avoid silent corruption.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/ZFS#Storage_pools">Pooled Storage</a>
- Easy aggregation of multiple devices in to a single OST.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/ZFS#Capacity">Capacity</a>
- A 256 zettabytes (2^78 bytes) OST size limit enables larger servers.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/ZFS#Snapshots_and_clones">Snapshots</a>
- Snapshot the Lustre filesystem prior maintenance for worry free updates.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/LZJB">Compression</a>
- Transparent compression increases your total usable capacity.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model">
Copy-on-Write</a> - Improves write performance by transforming random I/O
in to sequential I/O.</a>
</li>
</ul>
</tr>
<tr bgcolor="#dddddd">
<th colspan="2">Status</th>
</tr>
<td colspan="2">
<p>Support for ZFS has been merged in to the Lustre mainline source tree and
will be officially available when <a href="http://lustre.opensfs.org/
community-lustre-roadmap/">Lustre 2.4 is released</a>. A pre-release version
of this code is running on <a href="https://computing.llnl.gov/">
Lawrence Livermore's</a> <a href="https://asc.llnl.gov/computing_resources/
sequoia/">Sequoia</a> system which is currently ranked second on the
<a href="http://www.top500.org/list/2012/11/">top 500 list</a>.</p>
</td>
</tr>
<tr bgcolor="#dddddd">
<th colspan="2">Download</th>
</tr>
<td colspan="2">
<p>Lustre DKMS packages for RHEL/CentOS 6 are available from the ZFS on
Linux EPEL repository. They track the upstream Lustre master branch and
are refreshed as new pre-releases are tagged. Once the official Lustre 2.4
release is tagged the repository will switch to tracking the 2.4 maintenance
branch. Packages are provided for:</p>
<ul>
<li>Releases: RHEL/CentOS 6.x</li>
<li>Arches: x86_64</li>
</ul>
<p>To add the repository to your system install the <i>zfs-release</i>
package as shown below. This will add the <i>/etc/yum.repo.d/zfs.repo</i>
and required signing keys to your system. You can then install Lustre like
any other EPEL package using <i>yum</i>. As new updated packages are
made available they will be detected and installed as part of the standard
update process.</p>
<table align="center" width=95%>
<tr bgcolor="#eeeeee"><td><pre>
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-2.el6.noarch.rpm
$ sudo yum install lustre
</pre></td/></tr>
</table><br>
</td>
</tr>
<tr bgcolor="#dddddd">
<th colspan="2">Deploy</th>
</tr>
<tr>
<td>
<p>To familiarize yourself with the ZFS Lustre servers you can quickly setup
a new test filesystem using the <i>llmount.sh</i> script. Make sure SELinux
is disabled and the <i>lustre-tests</i> package is installed, then run:</p>
<table align="center" width=95%>
<tr bgcolor="#eeeeee"><td><pre>
$ sudo yum install lustre-tests
$ sudo FSTYPE=zfs /usr/lib64/lustre/tests/llmount.sh
...
$ df -h
Filesystem Size Used Avail Use% Mounted on
lustre-mdt1/mdt1 154M 2.9M 149M 2% /mnt/mds1
lustre-ost1/ost1 154M 1.3M 151M 1% /mnt/ost1
lustre-ost2/ost2 154M 1.2M 151M 1% /mnt/ost2
centos-6-amd64@tcp:/lustre
308M 2.4M 302M 1% /mnt/lustre
</pre></td/></tr>
</table>
<p>That's it! You've create a single node Lustre filesystem using ZFS
servers which is mounted at <i>/mnt/lustre</i>. When you're done testing
it can be unmounted and the servers stopped by running, <i>'sudo FSTYPE=zfs
/usr/lib64/lustre//tests/llmountcleanup.sh'</i>. To deploy a more realistic
configuration you should refer to the <a href="http://lustre.opensfs.org/
documentation/">official Lustre documentation</a>.</p>
</td>
</tr>
</table>
<br />
</center>
</body>
</html>