èå³æ·±ãã¯ã©ã¹ã¿ãŒãã¡ã€ã«ã·ã¹ãã ã ããã»ã©å€§ãããªããããžã§ã¯ãã®1ã€ã«å®è£
ããŸããããäžè¬çãªGlusterFSãŸãã¯NFSãœãªã¥ãŒã·ã§ã³ãããããŸãæ©èœããŸãã ã¯ã©ã€ã¢ã³ãåŽã§æ¥ç¶ãããšãã«FUSEã䜿çšããŸãã ããã¯ä»ã®ã¯ã©ã¹ã¿ãŒFSãããããŸããããšã¯æããŸããã§ããããå®éã«ã¯ãã¹ãŠãéåžžã«ããžãã£ãã§ããããšãå€æããŸããã
UPDïŒãã°ããããŠããã§ã«å¹³åçãªãããžã§ã¯ãã«LizardFSãå®è£
ããŸãããå®éããã®èšäºã®çºè¡ã®ã»ãŒçŽåŸã«ãæŽæ°èšäºãæžãåã«è² è·ã調ã¹ãæéãå¿
èŠã§ããã
3ãæåŸããã¹ã¿ãŒãµãŒããŒã®åèµ·åããè¡ãããŸãããFSèªäœãšã¯ç¡é¢ä¿ã®çç±ã§ãå©çšã§ããæé«ã®ã¯ã©ã¹ã¿ãŒFSã§ãããå€å°è€éã§ãã ãã°ã§ã¯ãããŸãããããŒã¿ã¹ãã¬ãŒãžãšããŠæ©èœããã ãã§ãªããã»ãŒæ¯åããŒã¿ãåžžã«æŽæ°ãããå€æ°ã®ãã¡ã€ã«ãäžæžãããããªã©ãåé¡ãªãå¹³åããŒã¿éãä¿æããŸãïŒãã®å Žåã1TBããã³å€§å°ã®ãã¡ã€ã«ïŒã
äžè¬ã«ãLizardFSãŸãã¯MooseFSïŒåçšïŒã¯ãå°ãªããšããã¿ãã€ãã®æ
å ±çšã«èšèšãããŠããŸãã
èªå®
ã§äœ¿çšãã人ã«ã¯åŸ®åŠãªéãããããŸãã ãã®ãã¡ã€ã«ã·ã¹ãã ã¯ããã¡ã€ã«ã®è¡ããšã®æžã蟌ã¿ãç®çãšããŠããŸãããã€ãŸããã«ãŒãããè¡ãã¢ã³ããŒãããŠPHPãããã£ã¹ã¯ã«çŽæ¥ãã¡ã€ã«ãæžã蟌ããšãåå€æŽãåžžã«åæããããšãããããæãããªçç±ã§FSã®é床ã倧å¹
ã«äœäžãå§ããŸãã
ãããã£ãŠãè¡ããšã®èšé²ãäœæããã«ã¯ãåã«tmpfsãã©ã«ããŒãã©ããã«ããŠã³ããããã®ãã©ã«ããŒã§ãã¡ã€ã«ã1è¡ãã€çæããããããå®æãããã¡ã€ã«ã®mvãã¯ã©ã¹ã¿ãŒFSã«äœæããããã€ã³ã¿ãŒããªã¿ãŒã§çŽæ¥RAMã«ããŒã¿ã®é
åãäœæããäžåºŠã«ãã¡ã€ã«ã«ããŒãžããŸãã ã€ãŸããã¢ãããã¯æäœããã¡ã€ã«ã®ã³ããŒããã¡ã€ã«ã®ç§»åããã¡ã€ã«ã®èªã¿åãã«æé©ã§ãããæãéèŠãªã®ã¯ãã¡ã€ã«å
šäœã®å®æã§ãããåââé¡ã¯ãããŸããã forããã³ã«ãŒãã®å©ããåããŠã®ã¿ããã¡ã€ã«ã1è¡ãã€ãã¡ã€ã«ã«æžã蟌ãå¿
èŠã¯ãããŸããã
ãã©ã«ãå
ã®ã¬ããªã«ã®æ°ãèšå®ããæ©èœã¯çŽ æŽãããã§ãã
ãã®èšäºã«ã¯ãcronã«ã€ã³ã¹ããŒã«ããã®ã«ååãªåçŽãªç£èŠã¹ã¯ãªãããã¹ã¿ãŒãšã·ã£ããŠãµãŒããŒãŠã£ã¶ãŒããè¿œå ããŸãã
#!/bin/bash #Variables SRV="172.24.1.1" #Every 15 minutes repeat alert if have troubles test -f /tmp/$SRV.lizardfs && find /tmp/$SRV.lizardfs -mmin +15 -delete #Check if no have previous alert flag file if [ ! -e /tmp/$SRV.lizardfs ]; then #Check command CHECK_LIZ=`lizardfs-probe metadataserver-status $SRV 9421 | grep "running\|connected" | awk '{print $3}' | sed '/^$/d' | tr -d ' '` #Send Alert if have troubles if [[ "$CHECK_LIZ" != "running" && "$CHECK_LIZ" != "connected" ]] ; then echo "$CHECK_LIZ" > /tmp/$SRV.lizardfs #Send Alert /home/scripts/telegram/telegram.sh --service "$SRV LizardFS" --event "Status: $CHECK_LIZ" ; /home/scripts/sms/msms.sh --service "$SRV LizardFS" --event "Status: $CHECK_LIZ" ; fi fi
telegram.shããã³msms.shã¹ã¯ãªãããã¹ã¯ãªããã§ãã
å
ã®èšäºïŒLizardFSã®å©ç¹ïŒå°ããªãã¡ã€ã«ãèªã¿åãã¢ãŒãã§ã®éåžžã«é«éãªäœæ¥ã GlusterFSã䜿çšããå€ãã®äººã¯ããããã®ãµã€ããè¿ãããã«ã¯ã©ã¹ã¿ãŒFSã䜿çšãããšãæäœãéåžžã«é
ããªããšããåé¡ã«çŽé¢ããŸããã
éåžžã«è¯ãã¬ãã«ã§ã®å€§ããªãã¡ã€ã«ã®èªã¿åãé床ã
倧ããªãã¡ã€ã«ã®æžã蟌ã¿é床ã¯ãã€ãã£ããã¡ã€ã«ã·ã¹ãã ãšå€§å·®ãããŸãããç¹ã«ãã¯ã©ã¹ã¿ãŒã®äžéšã«SSDãã£ã¹ã¯ããããã¯ã©ã¹ã¿ãŒå
ã®ãµãŒããŒéã«1ã10ã®ã¬ãããã®æ¥ç¶ãããå Žåã¯ããã§ãã
Chown / ls -laæäœã¯ãã€ãã£ãFSã®å Žåãããé
ããªããŸãããããã»ã©é
ãã¯ãããŸãã
GlusterFSã®å Žåã®ããã«ã
ååž°çãªåé€æäœ-éåžžã«é«éã
mfsmountãŠãŒãã£ãªãã£ã®éåžžã«æè»ãªæ¥ç¶ãªãã·ã§ã³ã
ã¡ã¿ããŒã¿ã®è€è£œã¯ç°¡åãã€ç°¡åã«èšå®ã§ããè€æ°ã®ã·ã£ããŠã·ã£ããŠãã¹ã¿ãŒãµãŒããŒãšã¡ã¿ãã¬ãŒãµãŒããŒãåæã«äœ¿çšã§ããŸãã
ã¡ã¿ããŒã¿ã¯RAMã«ä¿åãããŸãã
LizardFSãããŒã«ã«ãµãŒããŒããããŒã¿ãååŸããããšã奜ãã®ã¯çŽ æŽãããããšã§ãã 2ã€ã®ã¬ããªã«ã®äŸã䜿çšããŠèªã¿åããé«éåãããšãLizardFSã¯ã©ã€ã¢ã³ãã¯ããŒã«ã«ãµãŒããŒãããã¡ã€ã«ãèªåçã«ååŸãã2çªç®ã®ãµãŒããŒãããããã¯ãŒã¯ãä»ããŠãã¡ã€ã«ãååŸããŸããã
ãµããã©ã«ããŒã«ç®æšïŒã¬ããªã«ã®æ°ïŒãèšå®ããæ©èœãã€ãŸãLizardFS / var / lizardfs / importantã«3ã€ã®ã¬ããªã«ãäœæããããšãããã³/ var / lizardfs / not_importantã«ã¬ããªã«ãªãã§1ã€ã®FSå
ã§èšå®ããããšãã§ããŸãã ããã¯ãã¹ãŠããã£ã³ã¯ãµãŒããŒã®æ°ãšå¿
èŠãªã¿ã¹ã¯ã®å®è¡ã«äŸåãããã£ã³ã¯ãµãŒããŒããšã«è€æ°ã®åå¥ã®ãã£ã¹ã¯ã䜿çšããããšãã§ããŸãã
EC-Erasure Codingãªã©ãããŸããŸãªããŒã¿è€è£œã¢ãŒãããµããŒãããŠããŸãã
ãã®ã¢ãŒãã§ã®èªã¿åãé床ã¯ããã»ã©å€§ãããããŸããã
ãã¡ã€ã«ã·ã¹ãã èªäœãããŠã³ãããã¯ã©ã€ã¢ã³ããé€ãããã¹ãŠãLXCã³ã³ãããŒã§æ©èœããŸãã ãã¹ããã·ã³ã«ããŠã³ãããããŠã³ããã€ã³ããLXCã³ã³ãããŒã«è»¢éããããšã§è§£æ±ºããŸãã
ç·Žç¿ã§ããŸãã
æ°ããããŒããè¿œå ãããšãã®èªåãªãã©ã³ã¹ã
åé€ãããããŒããäžèŠãªããŒãã®éåžžã«ç°¡åãªåé€ã
LizardFSã®æ¬ ç¹ïŒå°ããªãã¡ã€ã«ã®å€§ããªã¹ããªãŒã ã®æžã蟌ã¿é床ã¯éåžžã«é
ãã§ãã Rsyncã¯ããããã瀺ããŠããŸãã
FSäžã«å€æ°ã®ãã£ãã·ã¥ãã¡ã€ã«ãçæãããµã€ããšã³ãžã³ã®å Žåã
ãã£ãã·ã¥ã¯ã¯ã©ã¹ã¿ãŒãã¡ã€ã«ã·ã¹ãã ã®å€éšã«ç§»åããå¿
èŠããããŸãã ããã«åé¡ããããšã³ãžã³ã®å ŽåãããŠã³ããããLizardFSã®ãµããã©ã«ããŒã®äžã«ããŒã«ã«ãã©ã«ããŒãããŠã³ãããããã·ã³ããªãã¯ãªã³ã¯ã䜿çšã§ããŸãã
äŸïŒ
mount --bind /data/nativefs/cache /var/lizardfs/cache
åäœäžã®ãã¹ã¿ãŒã¡ã¿ããŒã¿ãµãŒããŒã¯äžåºŠã«1ã€ããåäœã§ããŸããããããã¯ã¢ãããŸãã¯ã·ã£ããŠã¢ãŒãã®ããã€ãã¯äžŠè¡ããŠåäœã§ããŸãã é«å¯çšæ§ã¯ãææã³ã³ããŒãã³ãLizardFSã®å©ããããã³ãã®ã¹ã¯ãªãã+ uCarp / keepalived / PaceMakerãªã©ã®ãœãããŠã§ã¢ã®å©ããåããŠå®è£
ã§ããŸãã ç§ãã¡ã®å Žåãããã¯å¿
èŠãããŸãããæåå¶åŸ¡ã§ååã§ãã
æ®å¿µãªããšã«ãGlusterFSã®ç®±ããåºããŠããã«ã§ããããã«ããã¹ãŠã¯èªåã§ãã é·æãšæè»æ§ãçæãäžåã£ãŠããŸãã
RAMãå°ãèŠæ±ããŸãã ãã ããããšãã°ãããŒã¿ãçŽ10ã20 GBã§ã¬ããªã«ã2ã€ãããªãå°èŠæš¡ãããžã§ã¯ãã§ã¯ãããã¯éèŠã§ã¯ãããŸããã
root@172.24.1.1:/# df -h |grep "mfs\|Size" Filesystem Size Used Avail Use% Mounted on mfs#mfsmaster:9421 1.8T 41G 1.8T 3% /var/www ( 2- ) root@172.24.1.1:/# find /var/www -type f -print0 | wc -l --files0-from=- |grep total 185818 total ( ) root@172.24.1.1:/# smem -u -t -k |grep "mfs\|RSS" User Count Swap USS PSS RSS mfs 3 0 170.0M 170.9M 180.9M (3 - master/metalogger/chunkserver)
å¹³åçãªãããžã§ã¯ãã§ã¯ãRAMã®æ¶è²»éãåŸã§ç¢ºèªããŸããããŸã å®è£
ããŠããŸãããããã§ã«æºåãæŽã£ãŠããŸãã
ã»ããã¢ããïŒDebian 9ã§LizardFSããã°ããèµ·åããæ¹æ³ã«é¢ããçãããã¥ã¢ã«ãæäŸããŸãã
Debian 9ãã€ã³ã¹ããŒã«ããã4ã€ã®ãµãŒããŒããããããã©ã«ãã§8çªç®ã«æ¢è£œã®lizardfsããã±ãŒãžãå«ãŸããŠããªããšããŸãã
å¶éãèšå®ããŸãã
/etc/security/limits.confã«ä»¥äžãé
眮ããå¿
èŠããããŸãã
* hard nofile 20000 * soft nofile 20000
rootãmfs / lizardfsãŠãŒã¶ãŒã«å¯ŸããŠåå¥ã«ç»é²ã§ããŸãã ãã§ã«å¶éã解é€ãããŠããå Žåãããã¯å¿
é ã§ã¯ãããŸããã å°ãªããšã10,000ãå¿
èŠã§ãã
圹å²ãé
åžããŸãã
172.24.1.1ïŒãã¹ã¿ãŒã¡ã¿ããŒã¿/ãã£ã³ã¯ïŒ-ãã¹ã¿ãŒã¡ã¿ããŒã¿/ãã£ã³ã¯ã¹ãã¬ãŒãž
172.24.1.2ïŒã·ã£ããŠã¡ã¿ããŒã¿/ãã£ã³ã¯ïŒ-ã·ã£ããŠãã¹ã¿ãŒã¡ã¿ããŒã¿/ãã£ã³ã¯ã¹ãã¬ãŒãž
172.24.1.3ïŒã¡ã¿ãã¬ãŒ/ãã£ã³ã¯ïŒ-ã¡ã¿ããŒã¿ã®ããã¯ã¢ãã/ãã£ã³ã¯ã¹ãã¬ãŒãž
172.24.1.4ïŒã¡ã¿ãã¬ãŒ/ãã£ã³ã¯ïŒ-ã¡ã¿ããŒã¿ããã¯ã¢ãã/ãã£ã³ã¯ã¹ãã¬ãŒãž
å³å¯ã«èšãã°ãã¡ã¿ãã¬ãŒã¯ãã¹ã¿ãŒãšã·ã£ããŠã®äž¡æ¹ã§äžŠè¡ããŠåäœã§ããŸããããã§ã¯ãããå€ãã®ãªãœãŒã¹ãå®äŸ¡ã«ãªããŸãã ããã¯ãå®éã«ã¯ãã¹ã¿ãŒ/ã·ã£ããŠãµãŒããŒãšãŸã£ããåããã¡ã¿ããŒã¿ã®é
延ããã¯ã¢ããã§ãã ãŸããã¡ã€ã³ãµãŒããŒã§ã¡ã¿ããŒã¿ãç Žæããå Žåã«åããŠãã¡ã¿ãã¬ãŒããã¹ã¿ãŒãµãŒããŒã«å€ããããšãã§ããŸãã
ã€ãŸããããšãã°ããã®ãªãã·ã§ã³ã䜿çšããŸãã
172.24.1.1ïŒãã¹ã¿ãŒã¡ã¿ããŒã¿/ã¡ã¿ãã¬ãŒ/ãã£ã³ã¯ïŒ
172.24.1.2ïŒã·ã£ããŠã¡ã¿ããŒã¿/ã¡ã¿ãã¬ãŒ/ãã£ã³ã¯ïŒ
4å°ã®ãµãŒããŒã®ããŒãžã§ã³ã®èšäºãããã«ç¶ããŸãã
ã¢ã€ãã 1ã3-4ã€ã®ãµãŒããŒãã¹ãŠã§å®è¡ããŸãã
1. LXCã³ã³ãããŒãããå Žåãã¯ã©ã€ã¢ã³ããé€ããã¹ãŠã®ãµãŒãã¹ã®å®å
šãªã»ããããã¹ãŠã®ãµãŒããŒã«ã€ã³ã¹ããŒã«ããŸãã Debianã§èµ·åæã«/ etc / default /ã§ãŸã ç¡å¹ã«ãªã£ãŠããããããã¹ãŠã®ãµãŒãã¹ãã€ã³ã¹ããŒã«ããŸããã¡ã¿ãã¬ãŒãçªç¶ãã¹ã¿ãŒã«å€æŽããå¿
èŠãããå Žåã¯ããã¹ãŠãäºåã«ã€ã³ã¹ããŒã«ãããŠããŸãã
apt-get -y install lizardfs-common lizardfs-master lizardfs-chunkserver lizardfs-metalogger lizardfs-client cp /etc/lizardfs/mfsmaster.cfg.dist /etc/lizardfs/mfsmaster.cfg cp /etc/lizardfs/mfsmetalogger.cfg.dist /etc/lizardfs/mfsmetalogger.cfg cp /etc/lizardfs/mfsgoals.cfg.dist /etc/lizardfs/mfsgoals.cfg cp /etc/lizardfs/mfschunkserver.cfg.dist /etc/lizardfs/mfschunkserver.cfg cp /etc/lizardfs/mfshdd.cfg.dist /etc/lizardfs/mfshdd.cfg
ãŸãã¯ãDebianã§ã¯ãã€ãã£ãããã±ãŒãžã§äžèšã®ãªãã·ã§ã³ãæå®ãããŠããããããœãŒã¹ããã€ã³ã¹ããŒã«ãããããã±ãŒãžãã³ã³ãã€ã«ãããšããã£ã¬ã¯ããªãç°ãªããŸãã
cp /etc/mfs/mfsmaster.cfg.dist /etc/mfs/mfsmaster.cfg cp /etc/mfs/mfsmetalogger.cfg.dist /etc/mfs/mfsmetalogger.cfg cp /etc/mfs/mfsgoals.cfg.dist /etc/mfs/mfsgoals.cfg cp /etc/mfs/mfschunkserver.cfg.dist /etc/mfs/mfschunkserver.cfg cp /etc/mfs/mfshdd.cfg.dist /etc/mfs/mfshdd.cfg
ããã±ãŒãžã«ãã£ãŠã¯ããŠãŒãã£ãªãã£ã®ååãå«ããŠãmfs * / lizardfs <action>ãªã©ã®ããã«å€æŽããããšãã§ããŸãã
ãã¹ã¿ãŒãµãŒããŒããã±ãŒãžãã€ã³ã¹ããŒã«ãããã¡ã¿ãã¬ãŒãšãã£ã³ã¯ãµãŒããŒã®ã¿ãã€ã³ã¹ããŒã«ããå Žåãããã©ã«ãã§ã¯ããŠãŒã¶ãŒãšã°ã«ãŒãã®mfs / lizardfsã¯/ var / lib / mfsãŸãã¯/ var / lib / lizardfsãã©ã«ããŒã«èšå®ãããŸããã
2. LizardFSã®ããã©ã«ããšã³ããªã/ etc / hostsã«è¿œå ããŸãã
echo "172.24.1.1 mfsmaster" >> /etc/hosts
3.ããŒã¿ãä¿åããããã®ãã©ã«ããŒãŸãã¯åå¥ã®ã»ã¯ã·ã§ã³ããŸãã¯å°ãªããšã2ã€ä»¥äžã®ã»ã¯ã·ã§ã³ãéžæããŸãã åãµãŒããŒã®çŸåšã®FSã«ãããã©ã«ããŒã1ã€ã ãæ€èšããŠãã ããïŒ/ data / lizardfs-chunk
mkdir -p /var/www ( ) mkdir -p /data/lizardfs-chunk ( LizardFS )
echo "/data/lizardfs-chunk" > /etc/lizardfs/mfshdd.cfg echo "172.24.1.0/24 / rw,alldirs,maproot=0" > /etc/lizardfs/mfsexports.cfg
ãŸãã¯
echo "/data/lizardfs-chunk" > /etc/mfs/mfshdd.cfg echo "172.24.1.0/24 . rw,alldirs,maproot=0" > /etc/mfs/mfsexports.cfg echo "172.24.1.0/24 / rw,alldirs,maproot=0" > /etc/mfs/mfsexports.cfg
ã«ãŒãã®å
±æ-ããã¯ããã€ãã£ãFSã·ã¹ãã ã®ã«ãŒãã§ã¯ãªããLizardFSèªäœã®ã¹ããŒã¹å
šäœãæå³ããŸãã
ãã€ã³ãã®å
±æ-ãã¡ã€ã«ã·ã¹ãã ãã¡ã¿ããŒã¿ã«æ¥ç¶ããããšãå¯èœã§ãã£ãããšãæå³ããŸãã ããã¯ãåé€ããããã¡ã€ã«ãã¯ãªãŒã³ã¢ããããããã«å¿
èŠã§ãã 以äžã§æ€èšããŸãã
4.誰ããã¹ã¿ãŒã«ãªãã誰ãã·ã£ããŠã«ãªããã瀺ããŸã
172.24.1.1ã§ã¯ãmfsmaster.cfgæ§æã§PERSONALITY = masterãæå®ããŸã
172.24.1.2ã§ã¯ãmfsmaster.cfgæ§æã§PERSONALITY = shadowãæå®ããŸã
5.å¿
èŠãªãµãŒãã¹ãå«ããŸãã
172.24.1.1: echo "LIZARDFSMASTER_ENABLE=true" > /etc/default/lizardfs-master echo "LIZARDFSCHUNKSERVER_ENABLE=true" > /etc/default/lizardfs-chunkserver systemctl start lizardfs-master systemctl start lizardfs-chunkserver 172.24.1.2: echo "LIZARDFSMASTER_ENABLE=true" > /etc/default/lizardfs-master echo "LIZARDFSCHUNKSERVER_ENABLE=true" > /etc/default/lizardfs-chunkserver systemctl start lizardfs-master systemctl start lizardfs-chunkserver 172.24.1.3: echo "LIZARDFSCHUNKSERVER_ENABLE=true" > /etc/default/lizardfs-chunkserver echo "LIZARDFSMETALOGGER_ENABLE=true" > /etc/default/lizardfs-metalogger systemctl start lizardfs-metalogger systemctl start lizardfs-chunkserver 172.24.1.4: echo "LIZARDFSCHUNKSERVER_ENABLE=true" > /etc/default/lizardfs-chunkserver echo "LIZARDFSMETALOGGER_ENABLE=true" > /etc/default/lizardfs-metalogger systemctl start lizardfs-metalogger systemctl start lizardfs-chunkserver
次ã«ãã¯ã©ã€ã¢ã³ãã«ãã£ãŠããŠã³ãããŸããããŸããŸãªãªãã·ã§ã³ããããå€ãã®ãªãã·ã§ã³ããããŸãã
chunkserver`axäžã®FSïŒ
ãã€ãã£ãXFSãããå Žåã¯ã-o mfssugidclearmode = XFSãè¿œå ããŸã
BSDã§ã³ã³ãã€ã«ããå Žåã¯ã-o mfssugidclearmode = BSDãè¿œå ããŸã
MAC OSXã§ãã«ãããå ŽåïŒïŒã-o mfssugidclearmode = OSXãè¿œå ããå¿
èŠããããŸã
ã¯ã©ã¹ã¿ãŒå
ã®ãã£ã³ã¯ãµãŒããŒã®äžã«ç°ãªãFSãæ··åšãããããšã¯ãå§ãã§ããŸããããå¿
èŠãªå Žåã¯-o mfssugidclearmode = ALWAYSã䜿çšããå¿
èŠããããŸãã
ããã©ã«ãã¯ãbtrfsãext2ãext3ãext4ãhfs [+]ãjfsãntfsãããã³reiserfsã®EXTã§ãã
Linuxã§ãã£ã³ã¯ãµãŒããŒã«ntfsã䜿çšããããšãèããŠãã人ã¯ããªããšæããŸãã
mfsmount -o big_writes,nosuid,nodev,noatime,allow_other /var/www mfsmount -o big_writes,nosuid,nodev,noatime,allow_other -o cacheexpirationtime=500 -o readaheadmaxwindowsize=4096 /var/www
ãµããŒãããããªãã·ã§ã³ã¯ãLizardFSã®ããŒãžã§ã³ã«ãã£ãŠç°ãªããŸãã2çªç®ã®ããŒãžã§ã³ã§ã¯ãèªã¿åãé床ãã¯ããã«é«éã§ãã ããã©ã«ãã§ã¯ãmfsmountã¯/ etc / hostsããIPãã¹ã¿ãŒãååŸããŸããããã¹ãŠã®ãã£ã³ã¯ãµãŒããŒã«äžŠè¡ããŠæ¥ç¶ããŸãã big_writesãªãã·ã§ã³ã¯ãæ°ããFUSEã¯ã©ã€ã¢ã³ãã§ã¯å»æ¢ããããšèŠãªãããããã©ã«ãã§æå¹ã«ãªã£ãŠããŸããå€ãã·ã¹ãã ã«ã¯æå®ããããšããå§ãããŸãã
䜿çšå¯èœãªã¬ããªã«ãªãã·ã§ã³ã¯mfsgoals.cfgã«èšè¿°ãããŠããŸã
次ã«ãå¿
èŠãªããŒã¿ã¬ããªã«ã®æ°ã瀺ããŸãã
mfssetgoal -r 2 /var/www mfsgetgoal /var/www
ããã§ã¯ã/ var / wwwã§äœ¿çšãéå§ããŸã
LizardFSãã¹ã±ããã®ã¯ãªãŒãã³ã°ã«é¢ããã¢ããªã³ã åé€ããããã¡ã€ã«ã¯ããã©ã«ãã§åŸ©å
ã§ããŸãããã¹ããŒã¹ãå æããŸãã
ç§ãã¡ã¯ã©ã®ãã·ã³ã§ããããè¡ããŸããããªãã¯èª°ã§ããããè¡ãããšãã§ããŸãã
mkdir /mnt/lizardfs-meta mfsmount /mnt/lizardfs-meta -o mfsmeta cd /mnt/lizardfs-meta/trash root@172.24.1.1:/mnt/lizardfs-meta/trash
ãã¡ã€ã«ããã¿ç®±ã«å
¥ãããã©ã«ãã®æéã¯ãåé€åŸ24æéã§ãã
root@172.24.1.1:/mnt/lizardfs-meta/trash
次ã®ããã«ã€ã³ã¹ã¿ã³ãåé€ã«å€æŽã§ããŸãã
root@172.24.1.1:/mnt/lizardfs-meta/trash
æçµçãªãã¡ã€ã«ã®åé€ïŒ
root@172.24.1.1:/mnt/lizardfs-meta/trash
åé€ããããã¹ãŠã®ãã¡ã€ã«ãå埩ããŸãã
root@172.24.1.1:/mnt/lizardfs-meta/trash
ããã©ã«ãã§ã¯ããã¿ç®±ãããã¡ã€ã«ãåé€ããåŸãå®éã®ãã¡ã€ã«ã¯ãã£ã³ã¯ãµãŒããŒããéåžžã«ãã£ãããšåé€ãããŸãã ãããå éããæ¹æ³ã¯ããŸãæ確ã§ã¯ãããŸããã
ãããã£ãŠããã¹ã±ãã管çã¯ãµããã£ã¬ã¯ããªã§åå¥ã«å®è¡ã§ããæè»æ§ãåäžããŸãã ããšãã°ããã£ãã·ã¥ãã£ã¬ã¯ããªã®å Žåã¯0ãã誀ã£ãŠåé€ãããä»ã®ãã£ã¬ã¯ããªã®å Žåã¯24æé以äžçœ®ãããšãã§ããŸãã
ãŸããäŸã䜿çšããŠç¹å®ã®ãã£ã¬ã¯ããªãŸãã¯ãã¡ã€ã«ãè€è£œããéã®æè»æ§ã匷調ããŸãã
root@172.24.1.1:/# mfssetgoal -r 1 /var/www/test/ /var/www/test/: inodes with goal changed: 1 inodes with goal not changed: 0 inodes with permission denied: 0 root@172.24.1.1:/# mfsgetgoal /var/www /var/www: 2 root@172.24.1.1:/# mfsgetgoal /var/www/test /var/www/test: 1
ã€ãŸãããã£ã¬ã¯ããªãšãã®ãµããã£ã¬ã¯ããªã®ã¬ããªã«ã®æ°ããã£ã¬ã¯ããªäžã§çŽæ¥æå®ã§ããŸãã
ããã ãªãã©ã³ã¹ã¯èªåçã«è¡ãããŸãã mfssetgoalãŠãŒãã£ãªãã£ã§äœ¿çšå¯èœãªã¬ããªã«ã®ã¿ã€ãã¯ãmfsgoals.cfgã§æå®ãããŠããŸã
ããšãã°ã1ç§ããã1ã®ã¬ãã€ããè¶
ããåæèšé²ãå¿
èŠãªå Žåãããã¯å¿
èŠãããŸãããããã®FSã§ãã°ãŒã°ã«ã§æ€çŽ¢ã§ãããããmfsgoals.cfgã§æ¶å»ã³ãŒãã£ã³ã°ã䜿çšããç®æšãèšå®ããmfssetgoalã䜿çšããŠãã®ã¿ã€ãã®ã¬ããªã±ãŒã·ã§ã³ãå²ãåœãŠãå¿
èŠããããŸãç®çã®ãã©ã«ãã ãã®ã¢ãŒãã§ã¯ãã¯ã©ã€ã¢ã³ãã®ãããã¯ãŒã¯ã10ã®ã¬ããã以äžã§ããã°ãã¯ã©ã€ã¢ã³ãã¯äžŠè¡ããŠããŒã¿ãæžã蟌ã¿ãŸãã ãµãŒããŒã¯å£ããªãããšã«ãªã£ãŠããŸãã
â
ã¬ããªã±ãŒã·ã§ã³ã¢ãŒãã®è©³çŽ°éèŠïŒäžå¿
èŠã«killall -9 mfsmasterãå®è¡ããªãã§ãã ããããããè¡ãããšã«ãããå°ãªããšãRAMã«æ®ã£ãŠããããŒã¿ã®äžéšã倱ããå°ãªããšãã¡ã¿ããŒã¿ãã¡ã€ã«ãç Žãããšãã§ããŸããmfsfilerepairãŠãŒãã£ãªãã£ã䜿çšããŠä¿®åŸ©ããããã¡ã¿ã«ãã¬ãŒããå€ããã®ã«å®å
šã«çœ®ãæããå¿
èŠããããŸããåœç¶ãããŒã¿ã®äžéšã¯å€±ãããŸãã ãŠã£ã¶ãŒãã®èšå®ã«äžéšäŸåããŸãã
ãã³ãããã®ãµãŒããŒäžã§ã¯ãªãã¯ã©ã¹ã¿ãŒFSãå®è¡ããå¿
èŠãããããããããæžãçããŸããã§ããã ãµãŒããŒãéåžžçšé»æºãåããŠããããšãããã«æãŸããã§ãã
倧èŠæš¡ãªã·ã¹ãã ã§ã¯ãèšå®ãæå¹ã«ããããšãéèŠãªå ŽåããããŸãã
root@172.24.1.1:/# cat /etc/mfs/mfschunkserver.cfg |grep -B3 FACTOR ## If enabled, chunkserver will send periodical reports of its I/O load to master, ## which will be taken into consideration when picking chunkservers for I/O operations. ## (Default : 0) # ENABLE_LOAD_FACTOR = 0
è€æ°ã®ã¯ã©ã€ã¢ã³ãã䞊åããã³äžŠåã®æžã蟌ã¿ããã³èªã¿åãã§æ¥ç¶ããã¢ãŒãã§ãã°ããäœæ¥ããã«ã¯ããããã®ããã©ã«ãèšå®ãå¿ããªãã§ãã ããã
root@172.24.1.1:/# cat /etc/mfs/mfschunkserver.cfg |grep WORKERS
ãããŠãmfsmountã®ãªãã·ã§ã³ã«ã€ããŠïŒ
-o mfswritecachesize=<N> specify write cache size in MiB (in range: 16..2048 - default: 128) -o mfswriteworkers='N' define number of write workers (default: 10) -o mfswritewindowsize='N' define write window size (in blocks) for each chunk (default: 15)
äžè¬ã«ããã®ã¯ã©ã¹ã¿ãŒFSã«ã€ããŠååã«ç解ããã«ã¯ãæåã®1æ¥ã§ååã§ããã ã¯ããGlusterFSãããå°ãè€éã§ãããå©ç¹ã¯ãããäžåããŸãã ããããã®å°ããªãã¡ã€ã«ããã°ããèªãããšã¯çŽ æŽãããããšã§ãã
â
ããã¥ã¡ã³ã