Putting OpenSolaris in a
NAS server
OpenSolaris is an open source project created by Sun Microsystems to
build a developer community around the Solaris Operating System
technology
OpenSolaris express is the
official distribution and can be download HERE but I will use a
fork of that code.
Why Solaris for a NAS server?
Solaris itself while being a rock solid operating system, is not really
needed for a NAS server (oversized). What has increase my interest in it, is ZFS, the Zetabyte File System.
This is an extract of opensolaris.org all arguments fits
nicely to my need:
<quote>
- ZFS
is a new kind of filesystem that provides simple administration,
transactional semantics, end-to-end data integrity, and immense
scalability. ZFS is not an incremental improvement to existing
technology; it is a fundamentally new approach to data management.
We've blown away 20 years of obsolete assumptions, eliminated
complexity at the source, and created a storage system that's actually
a pleasure to use.
- ZFS presents a pooled storage model
that completely eliminates the concept of volumes and the associated
problems of partitions, provisioning, wasted bandwidth and stranded
storage. Thousands of filesystems can draw from a common storage pool,
each one consuming only as much space as it actually needs. The
combined I/O bandwidth of all devices in the pool is available to all
filesystems at all times.
- All operations are
copy-on-write transactions, so the on-disk state is always valid. There
is no need to fsck(1M) a ZFS filesystem, ever. Every block is
checksummed to prevent silent data corruption, and the data is
self-healing in replicated (mirrored or RAID) configurations. If one
copy is damaged, ZFS will detect it and use another copy to repair it.
- ZFS
introduces a new data replication model called RAID-Z. It is similar to
RAID-5 but uses variable stripe width to eliminate the RAID-5 write
hole (stripe corruption due to loss of power between data and parity
updates). All RAID-Z writes are full-stripe writes. There's no
read-modify-write tax, no write hole, and the best part
no need for
NVRAM in hardware. ZFS loves cheap disks.
- But cheap
disks can fail, so ZFS provides disk scrubbing. Like ECC memory
scrubbing, the idea is to read all data to detect latent errors while
they're still correctable. A scrub traverses the entire storage pool to
read every copy of every block, validate it against its 256-bit
checksum, and repair it if necessary. All this happens while the
storage pool is live and in use.
- ZFS has a pipelined
I/O engine, similar in concept to CPU pipelines. The pipeline operates
on I/O dependency graphs and provides scoreboarding, priority, deadline
scheduling, out-of-order issue and I/O aggregation. I/O loads that bring
other filesystems to their knees are
handled with ease by the ZFS I/O pipeline.
- ZFS
provides unlimited constant-time snapshots and clones. A snapshot is a
read-only point-in-time copy of a filesystem, while a clone is a
writable copy of a snapshot. Clones provide an extremely
space-efficient way to store many copies of mostly-shared data such as
workspaces, software installations, and diskless clients.
- ZFS
backup and restore are powered by snapshots. Any snapshot can generate
a full backup, and any pair of snapshots can generate an incremental
backup. Incremental backups are so efficient that they can be used for
remote replication e.g. to transmit an incremental update
every 10
seconds.
- There are no arbitrary limits in ZFS. You can
have as many files as you want; full 64-bit file offsets; unlimited
links, directory entries, snapshots, and so on.
- ZFS
provides built-in compression. In addition to reducing space usage by
2-3x, compression also reduces the amount of I/O by 2-3x. For this
reason, enabling compression actually makes some workloads go faster.
- In
addition to filesystems, ZFS storage pools can provide volumes for
applications that need raw-device semantics. ZFS volumes can be used as
swap devices, for example. And if you enable compression on a swap
volume, you now have compressed virtual memory.
- ZFS administration is both simple and powerful.
</quote>
This speak by itself, Ive seen 2
Demos HERE, and while the hardware support is not that great,
I've decide to give it a try. Note that linux may have a port
of ZFS port before July 2006, as it is a sponsored Google
summer of code project.
Which Solaris flavor
In Fact it is possible to use one of the following OpenSolaris
distribution:
- BeleniX is a *NIX distribution that is
built using the OpenSolaris source base. It is currently a LiveCD distribution but is
intended to
grow into a complete distro that can be installed to hard disk. BeleniX
has been developed out of Bangalore the silicon capital of India and it
was born at the India Engineering Center of SUN Microsystems.
And... it USE KDE: the est open source desktop.
- SchilliX, a live CD.s
- marTux, a live CD/DVD, for Sparc
- Nexenta, a Debian-based distribution combining GNU software
and Solaris' SunOS kernel
- Polaris, a
PowerPC port
Status:
stable, in development
# Developers:
__
| homepage |
http://belenix.sarovar.org |
| version |
0.4.3a |
| Based
on |
OpenSolaris
|
| Support |
- NFS,
- SMB/CIFS,
- HTTP/WebDAV
- FTP
|
| Network
directories support |
|
| Software
Raid |
0,1,5,6 |
| Hardware
Raid |
|
| Interface |
None
- Remote login is deactivated but can be re-enable: You need to comment out the line "CONSOLE=/dev/console" in the file /etc/default/login to allow remote root login.
- maybe VNC remote access.
|
| Size |
?? |
| Can
be installed |
- Live CD -> but mount point has to e recreated
On
hard disk only because of its size |
| File
system |
EXT2/EXT3,
ZFS |
| HardDrive |
ATA/SATA,
SCSI, USB and Firewire |
| Network |
not
well...
|
Installation
Since belenix is a Live CD, and just for playing around with ZFS, it is more than enough.
Playing with ZFS
Future
Links and ressources
|