Ve výchozím stavu používá GlusterFS xattrs, který není dostupný pod kontejnery, bez cap_sys_admin capabilities. Tady je stručný návod k sestavení GlusterFS pod Debianem tak, aby používal uživatelské namespaces:
# Nejprve nainstalujeme potřebné závislosti: apt-get install dpkg-dev fuse apt-get build-dep glusterfs # Stáhneme zdrojové kódy glusterfs apt-get source glusterfs # Pokud máte problémy s některými GPG klíči, můžete si je přidat: gpg --keyserver keyserver.ubuntu.com --recv-keys 90CBD8E4 # Upravte zdrojové kódy prostým "najdi a změň" cd glusterfs-3.5.2/ find . -regex '.*/[^/]*\.[ch]' -exec sed -i 's/"trusted\./"user./g' {} \; # Sestavte balíčky dpkg-source --commit dpkg-buildpackage cd .. # Nainstalujte je dpkg -i glusterfs-*.deb
Funkční svazek:
gluster> volume info Volume Name: shared Type: Replicate Volume ID: 7253c6d6-aec0-4804-9bb5-c4b0150d69bc Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 172.16.0.62:/gluster Brick2: 172.16.0.1:/gluster
Výkonnostní testy na vpsFree.cz:
iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/tmp/f{0,1,2,3,4,5,6,7,8}.ioz Iozone: Performance Test of File I/O Version $Revision: 3.430 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Fri Jul 17 11:48:28 2015 Setting no_unlink Include close in write timing Include fsync in write timing No retest option selected Record Size 64 kB File size set to 1048576 kB Command line used: ./iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/tmp/f0.ioz /mnt/tmp/f1.ioz /mnt/tmp/f2.ioz /mnt/tmp/f3.ioz /mnt/tmp/f4.ioz /mnt/tmp/f5.ioz /mnt/tmp/f6.ioz /mnt/tmp/f7.ioz /mnt/tmp/f8.ioz Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. Throughput test with 8 processes Each process writes a 1048576 kByte file in 64 kByte records Children see throughput for 8 initial writers = 53489.47 kB/sec Parent sees throughput for 8 initial writers = 53204.68 kB/sec Min throughput per process = 6546.01 kB/sec Max throughput per process = 6947.46 kB/sec Avg throughput per process = 6686.18 kB/sec Min xfer = 1009216.00 kB Child[0] xfer count = 1024000.00 kB, Throughput = 6642.03 kB/sec Child[1] xfer count = 1045696.00 kB, Throughput = 6782.18 kB/sec Child[2] xfer count = 1034880.00 kB, Throughput = 6712.34 kB/sec Child[3] xfer count = 1022080.00 kB, Throughput = 6629.23 kB/sec Child[4] xfer count = 1011328.00 kB, Throughput = 6559.43 kB/sec Child[5] xfer count = 1009216.00 kB, Throughput = 6546.01 kB/sec Child[6] xfer count = 1048576.00 kB, Throughput = 6947.46 kB/sec Child[7] xfer count = 1028352.00 kB, Throughput = 6670.79 kB/sec iozone test complete.
Svazek GlusterFS:
iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/shared/f{0,1,2,3,4,5,6,7,8}.ioz Iozone: Performance Test of File I/O Version $Revision: 3.430 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Fri Jul 17 12:19:17 2015 Setting no_unlink Include close in write timing Include fsync in write timing No retest option selected Record Size 64 kB File size set to 1048576 kB Command line used: ./iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/shared/f0.ioz /mnt/shared/f1.ioz /mnt/shared/f2.ioz /mnt/shared/f3.ioz /mnt/shared/f4.ioz /mnt/shared/f5.ioz /mnt/shared/f6.ioz /mnt/shared/f7.ioz /mnt/shared/f8.ioz Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. Throughput test with 8 processes Each process writes a 1048576 kByte file in 64 kByte records Children see throughput for 8 initial writers = 23963.82 kB/sec Parent sees throughput for 8 initial writers = 14037.13 kB/sec Min throughput per process = 1783.32 kB/sec Max throughput per process = 5134.14 kB/sec Avg throughput per process = 2995.48 kB/sec Min xfer = 364224.00 kB Child[0] xfer count = 528192.00 kB, Throughput = 2584.27 kB/sec Child[1] xfer count = 525248.00 kB, Throughput = 2571.77 kB/sec Child[2] xfer count = 364224.00 kB, Throughput = 1783.32 kB/sec Child[3] xfer count = 1048576.00 kB, Throughput = 5134.14 kB/sec Child[4] xfer count = 526400.00 kB, Throughput = 2577.41 kB/sec Child[5] xfer count = 1003200.00 kB, Throughput = 4907.09 kB/sec Child[6] xfer count = 526144.00 kB, Throughput = 2576.12 kB/sec Child[7] xfer count = 373696.00 kB, Throughput = 1829.70 kB/sec iozone test complete.
Test na ZFS s xattr=sa:
iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/test/f{0,1,2,3,4,5,6,7,8}.ioz Iozone: Performance Test of File I/O Version $Revision: 3.430 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Wed Jul 22 08:09:08 2015 Setting no_unlink Include close in write timing Include fsync in write timing No retest option selected Record Size 64 kB File size set to 1048576 kB Command line used: ./iozone -w -c -e -i 0 -+n -C -r 64k -s 1g -t 8 -F /mnt/test/f0.ioz /mnt/test/f1.ioz /mnt/test/f2.ioz /mnt/test/f3.ioz /mnt/test/f4.ioz /mnt/test/f5.ioz /mnt/test/f6.ioz /mnt/test/f7.ioz /mnt/test/f8.ioz Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. Throughput test with 8 processes Each process writes a 1048576 kByte file in 64 kByte records Children see throughput for 8 initial writers = 26844.98 kB/sec Parent sees throughput for 8 initial writers = 26766.06 kB/sec Min throughput per process = 3354.94 kB/sec Max throughput per process = 3356.57 kB/sec Avg throughput per process = 3355.62 kB/sec Min xfer = 1048064.00 kB Child[0] xfer count = 1048256.00 kB, Throughput = 3355.46 kB/sec Child[1] xfer count = 1048256.00 kB, Throughput = 3355.55 kB/sec Child[2] xfer count = 1048384.00 kB, Throughput = 3355.87 kB/sec Child[3] xfer count = 1048064.00 kB, Throughput = 3354.94 kB/sec Child[4] xfer count = 1048576.00 kB, Throughput = 3356.57 kB/sec Child[5] xfer count = 1048256.00 kB, Throughput = 3355.47 kB/sec Child[6] xfer count = 1048256.00 kB, Throughput = 3355.65 kB/sec Child[7] xfer count = 1048256.00 kB, Throughput = 3355.47 kB/sec iozone test complete.