XtreemFS - распределённое хранилище.

Thank you for reading this post, don't forget to subscribe!

XtreemFS это рас­пре­де­лён­ная фай­ло­вое хра­ни­ли­ще, что то вро­де того же ceph но про­ще ста­вит­ся, да и нет тако­го функ­ци­о­на­ла, пол­но­мас­штаб­но­го тести­ро­ва­ния я не про­во­дил, при­сту­пим к настройке:

есть 3 сер­ве­ра, на каж­дом из них настра­и­ва­ем файл hosts:

[root@xtreamfs1 ~]# cat /etc/hosts
192.168.1.170 xtreamfs1
192.168.1.171 xtreamfs2
192.168.1.172 xtreamfs3

на всех трёх сер­ве­рах создаём:

mkdir /xtreem
pvcreate /dev/sdb
vgcreate xtreem /dev/sdb
lvcreate -n xtreem -L 5G xtreem
mount /dev/mapper/xtreem-xtreem /xtreem

cd /etc/yum.repos.d/

wget "http://download.opensuse.org/repositories/home:/xtreemfs/CentOS_7/home:xtreemfs.repo"

yum install xtreemfs-client -y
yum install xtreemfs-server -y

modprobe fuse

/etc/init.d/xtreemfs-dir start
/etc/init.d/xtreemfs-mrc start
/etc/init.d/xtreemfs-osd start

 

Толь­ко на пер­вой тачке

созда­ём том:
mkfs.xtreemfs xtreamfs1/vol1

На всех тачках:

mkdir /xtreem/vol1
mount.xtreemfs xtreamfs1/vol1 /xtreem/vol1

Толь­ко на пер­вой тачке

уста­но­вим коэф­фи­ци­ент репли­ка­ции 3 с при­креп­лен­ной к нему поли­ти­кой чте­ния / записи:

xtfsutil --set-drp --replication-policy quorum --replication-factor 3 /xtreem/vol1

 

Пра­вим кон­фиг на 2 и 3ей тач­ке и пере­за­пус­ка­ем сервис:

sed -i s'/dir_service.host = localhost/dir_service.host = xtreamfs1/'g /etc/xos/xtreemfs/osdconfig.properties

/etc/init.d/xtreemfs-dir restart && /etc/init.d/xtreemfs-mrc restart && /etc/init.d/xtreemfs-osd restart

Про­ве­рим инфор­ма­цию по файлу:

добав­ля­ем в авто­за­груз­ку НА ВСЕХ сер­ве­рах:

[root@xtreamfs1 ~]# chkconfig xtreemfs-dir on
[root@xtreamfs1 ~]# chkconfig xtreemfs-mrc on
[root@xtreamfs1 ~]# chkconfig xtreemfs-osd on

[root@xtreamfs1 ~]# cat /etc/fstab | grep xtreem
/dev/mapper/xtreem-xtreem /xtreem ext4 defaults 1 2
xtreamfs1/vol1 /xtreem/vol1 xtreemfs defaults,_netdev 0 0

 

есть неболь­шая стра­нич­ка со статистикой:

http://192.168.1.170:30638/

 

в слу­чае выклю­че­ния масте­ра на осталь­ных нодах дан­ные недо­ступ­ны - как это фик­сит­ся не разбирался.

Итог - очень мед­лен­но рабо­та­ет с боль­шим коли­че­ством фай­лов, напри­мер рас­па­ков­ка Joomla зани­ма­ет око­ло 15 минут в режи­ме син­хрон­ной запи­си в кла­стер и 20 минут в режи­ме асин­хрон­ной запи­си (на локаль­ную фай­ло­вую систе­му око­ло 2-3 секунд).
Вход на стра­ни­цу уста­нов­ки joomla зани­ма­ет 20-40 секунд и так после каж­до­го щелч­ка (т.е. после чте­ния фай­лы не кэши­ру­ют­ся), настро­ек кэши­ро­ва­ния дан­ных в этой фай­ло­вой систе­ме нет.

Доступ к боль­шо­му фай­лу так же не очень быстр. Запись архи­ва на 70МБ идет со ско­ро­стью 140Кб/сек (настро­е­на репли­ка­ция на 3 сер­ве­ра), чте­ние 4-5 МБ/сек.

Фай­ло­вая систе­ма под­хо­дит для слу­ча­ев, когда нуж­но вре­мя от вре­ме­ни писать дан­ные и потом их читать. При­чем жела­тель­но читать ред­ко боль­шие фай­лы, чем часто и маленькие.