ãåç¥ã®ãšããããã©ãã«ãèµ·ããå¯èœæ§ããããªããããã¯ééããªãèµ·ãããŸãã ãããã誰ãããæè¿ã®éèŠãªãã¡ã€ã«ã誀ã£ãŠæ¶å»ããããããã¹ã ãšãã£ã¿ã§èª€ã£ãŠããã¹ããéžæããŠç Žå£ãããããçµéšãããã§ãããã
ããªãããã¹ãã£ã³ã°è ãŸã㯠Web ãµã€ãã®ææè ã§ããã°ããããããŠãŒã¶ãŒ ã¢ã«ãŠã³ããŸã㯠Web ãµã€ãã®ãããã³ã°ã«ééããããšãããã§ãããã ãã®ãããªå Žåãæç³»åã埩å ããæ»æè ã䜿çšããäŸµå ¥æ¹æ³ãšè匱æ§ãç¹å®ããããšãéèŠã§ãã
NILFS2 ãã¡ã€ã« ã·ã¹ãã ã¯ããã®ãããªåé¡ã解決ããã®ã«æé©ã§ãã
Linux ã«ãŒãã«ã«ã¯ããŒãžã§ã³ 2.6.30 ããååšããŠããŸãã
ãã®ãã¡ã€ã« ã·ã¹ãã ã®ç¹åŸŽã¯ãããŒãžã§ã³ç®¡çã·ã¹ãã ã«äŒŒãŠããããšã§ãããã€ã§ãã·ã¹ãã ã®ç¶æ ãããŒã«ããã¯ããŠãå°ãåã®ç¶æ ã確èªããããšãã§ããŸãã
ãã®æ©èœãæäŸããã«ã¯ãCron ã¹ã¯ãªãããæ§æããããã¹ãããã·ã§ãããååŸãããããå¿ èŠã¯ãããŸããã NILFS2 ãã¡ã€ã« ã·ã¹ãã ã¯ãããããã¹ãŠåç¬ã§å®è¡ããŸãã ååãªãã£ã¹ã¯ç©ºã容éãããå Žåã¯ãå€ãããŒã¿ãäžæžãããããšã¯ãªããåžžã«ãã£ã¹ã¯ã®æ°ããé åã«æžã蟌ã¿ãŸãã ã³ããŒãªã³ã©ã€ãã®ååã«å®å šã«åŸã£ãŠããŸãã
å®éããã¡ã€ã«ã«å€æŽãå ãããšããã¡ã€ã« ã·ã¹ãã ã®æ°ããã¹ãããã·ã§ãããèªåçã«äœæãããããããã® FS ãã¿ã€ã ãã·ã³ãšããŠäœ¿çšããŠããã¡ã€ã«ã®ç¶æ ãå·»ãæ»ãããšãã§ããŸãã
ã¹ããŒãªãŒ
NILFS2 ã¯ã
æ£ç¢ºã«äœã®ããã«éçºãããã®ãã¯äžæã§ããããã¿ã€ã ãã·ã³ãæ©èœãåãããã®ãã㪠FS ã¯ãè«å ±æ©é¢ãäºä»¶ã®å šäœåãåçããããã«æãäžããããšèããŠããããŒã¿ãä¿åããã®ã«çæ³çã§ãããšæšæž¬ã§ããŸãã SMSãé»åã¡ãŒã«ãªã©...
NILFS2 ã¯ãã¡ãŒã« ããŒã¿ããŒã¹å ã®åé€ããããã¹ãŠã®æçŽã埩å ã§ãããããå éšã»ãã¥ãªã㣠ãµãŒãã¹ã«ãšã£ãŠéåžžã«äŸ¡å€ã®ããããŒã«ã«ãªãå¯èœæ§ããããŸããããã«ãããåŸã§ãã¡ã€ã«ãåé€ãŸãã¯å€æŽããŠé èœããããšããåŸæ¥å¡ã®åŽæ ãæããã«ããããšãã§ããŸãã
éä¿¡å±¥æŽå
šäœã远跡ããã«ã¯ã©ãããã°ããã§ãã?Linux ãµãŒã㌠(å
éšã»ãã¥ãªãã£ã®ç®ç㧠NILFS2 ãã€ã³ã¹ããŒã«ããå¿
èŠããããµãŒããŒ) ã§ã¯ãé»åã¡ãŒã«ãä¿åãããã¡ã€ã«æ¹åŒãé»åã¡ãŒã« ã¡ãã»ãŒãžã®ä¿åã«ãã䜿çšãããŸãã ãããããã©ãŒããã
ã¡ãŒã«ãµãŒããŒãããŒã¿ããŒã¹ã䜿çšããŠããå ŽåãNILFS2 ã䜿çšãããšãããŒã¿ããŒã¹å€æŽã®æ£ç¢ºãªã¿ã€ãã³ã°ã埩å ããä»»æã®æç¹ã§ããŒã¿ããŒã¹ã埩å ã§ããããã«ãªããŸãã ãããŠãããŒã¿ããŒã¹ ããŒã«ã䜿çšããŠããã®æç¹ã§äœãå ¥ã£ãŠãããã確èªããå¿ èŠããããŸã...
ããããäœãåé¡ãçºçããŸããã æ¥æ¬æ¿åºãïŒã€ããã€ã®ååã«åŸã£ãŠïŒå šå¡ãç£èŠããããšã«æ¹éãå€ããããåŸæ¥ã® HDD ã§ã® NILFS2 ã®ããã©ãŒãã³ã¹ãæšæºä»¥äžã§ããããšãå€æããNILFS2 㯠GPL ã©ã€ã»ã³ã¹ã®äžã§ãªãªãŒã¹ãããããã« Linux ã«ãŒãã«ã«çµã¿èŸŒãŸãããã®ã©ã¡ããã§ãã Linux ã«ãŒãã«ã®éçºè ããããæã£ãŠããªãã£ãã®ã§ãé«åºŠã«ä¿®é£Ÿãããæ¥æ¬èªã§æžãããã³ãŒãã«ã€ããŠã¯ç¹ã«äžæºã¯ãããŸããã§ããã
NILFS2ã£ãŠã©ããªæãã§ããïŒ
䜿çšã®èŠ³ç¹ãã: ããŒãžã§ã³ç®¡çã·ã¹ãã äžã§
ããã°ã©ããŒã®èŠ³ç¹ããèŠããšã埪ç°ãããã¡ãŒã§ãã ãã¡ã€ã« ã·ã¹ãã ã¯å€æŽãèç©ããçŽ 8 MB (2000 * 4096ã2000 ã¯ãããã¯å ã®èŠçŽ ã®æ°ã4096 ã¯ã¡ã¢ãª ããŒãžã®ãµã€ãº) ã«çžåœãããã£ã³ã¯ã«æžã蟌ã¿ãŸãã ãã£ã¹ã¯å šäœããã®ãããªãã£ã³ã¯ã«åå²ãããŸãã é²é³ã¯é 次é²ããããŸãã 空ãé åããªããªããšãæãå€ãã¹ãããã·ã§ãããåé€ããããã£ã³ã¯ãäžæžããããŸãã
NILFS2 ã®åºæ¬ã°ããº
- ããŒãžã§ã³ç®¡ç!!!
- é害åŸã«ãã¡ã€ã« ã·ã¹ãã ã埩å ããæé ã¯ç°¡åã§ããããŒãæã«ãæ£ãããã§ãã¯ãµã ãæã€æåŸã®ãã£ã³ã¯ãæ€çŽ¢ãããããã«ã¹ãŒããŒãããã¯ãã€ã³ã¹ããŒã«ãããŸãã ããã¯ã»ãŒç¬æã®æäœã§ãã
- èšé²ã¯åžžã«çŽç·çã«é²è¡ããããã次ã®ããã«ãªããŸãã
- ã©ã³ãã æžã蟌ã¿ãé ã SSD ã§å®è¡ãããšè¯å¥œãªçµæãåŸãããŸãã
- NILFS2 ã¯æžã蟌ã¿åçãã»ãšãã©ãªããããSSD ãªãœãŒã¹ãç¯çŽããŸãã
ããæ£ç¢ºã«ã¯ã2 ãè¶ ããŸãããå®éããã£ã¹ã¯å šäœãåšæçã«æžãæããå ŽåãNILFS2 ã¯å€æŽäžå¯èœãªããŒã¿ãæ°ããéšå (ãã£ã³ã¯) ã«è»¢éããŸãããã£ã¹ã¯äžã« 10% ã®äžå€ããŒã¿ãããå Žåã10 åã®å®å šãªæžãæã㧠1% ã®æžã蟌ã¿å¢å ãåŸãããŸãã ãã£ã¹ã¯ã® 50 åã®å®å šãªæžãæãã§ã¯ãããã€ã¹ã®äœ¿çšçã 50% ã®å Žåã1% å¢å ããŸãã
æ倧æžã蟌ã¿ã²ã€ã³ã¯ 2 ã§ãããã¹ãŠãé 次æžã蟌ãŸããããšãèæ ®ãããšãããã¯éåžžã«äœããªããŸãã äžè¬ã«ãæžã蟌ã¿ã¢ãã¡ãŒã·ã§ã³ã¯ã4096 ãã€ãã®ã»ã¯ã¿ãŒãæã€åŸæ¥ã®æçåããããã¡ã€ã« ã·ã¹ãã ãããçããªããŸãã (ã€ã³ã¹ãã¬ãŒã·ã§ã³ãåããŠèãã
ã³ã¡ã³ã ).
- ãªã¢ãŒã NILFS2 FS ãžã®ã¬ããªã±ãŒã·ã§ã³ã®å®è£ ã容æã«ãªãå¯èœæ§
/home çš NILFS2
Unix ç³»ã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§ã¯ãéåžžããŠãŒã¶ãŒ ããŒã¿ãä¿åããã /home ãã©ã«ããŒããããŸãã ããŸããŸãªããã°ã©ã ããŠãŒã¶ãŒåºæã®èšå®ããã®ãã©ã«ããŒã«ä¿åããŸãã
ãããŠããŠãŒã¶ãŒã§ã¯ãªããšããŠããæãé »ç¹ã«ééããç¯ãã®ã¯èª°ã§ãããã? ãããã£ãŠã圌ããèšãããã«ãç¥ãèªèº«ã /home 㧠NILFS2 ã䜿çšããããã«åœããŸããã
ããã«ãSSD ã®æ®åã«ãããCoW ãã¡ã€ã« ã·ã¹ãã ã䜿çšããéã®æ·±å»ãªãããŒããŠã³ãå¿é ããå¿ èŠããªããªããŸããã
ã¯ããZFS ãš BTRFS ã§ã¯äœåºŠã§ã FS ã¹ãããã·ã§ãããäœæã§ããŸããããã¡ã€ã«ã®å€æŽãã¹ãããã·ã§ããã®éã«å€±ããããªã¹ã¯ãåžžã«ãããŸãã ãããŠãåçã¯äŸç¶ãšããŠç®¡çããå¿ èŠããããå€ãåçã¯åé€ããå¿ èŠããããŸãã NILFS2 ã§ã¯ãããããã¹ãŠãæåéãæ°ç§ããšã«èªåçã«è¡ãããŸãã
lvcreate ã䜿çšããŠè«çããªã¥ãŒã ãäœæããŸãã (nvme ããªã¥ãŒã ã°ã«ãŒããã·ã³ ããŒã« Thin)ã åŸã§ç°¡åã«æ¡åŒµã§ãããããlvm ããªã¥ãŒã äžã«äœæããããšããå§ãããŸãã ããŒãžã§ã³ã®æ·±ããé©åã«ä¿ã€ããã«ãNILFS50 ã§ã¯ 2% ã®ç©ºããã£ã¹ã¯å®¹éã確ä¿ããããšããå§ãããŸãã
lvcreate -V10G -T nvme/thin -n home
NILFS2ã§ãã©ãŒãããããŸããïŒ
mkfs.nilfs2 -L nvme_home /dev/nvme/home
mkfs.nilfs2 (nilfs-utils 2.1.5)
Start writing file system initial data to the device
Blocksize:4096 Device:/dev/nvme/home1 Device Size:10737418240
File system initialization succeeded !!
ãã®åŸãçŸåšã® /home ãããã¹ãŠã®ããŒã¿ãã³ããŒããå¿ èŠããããŸãã
ããã¯ãã³ã³ãã¥ãŒã¿ãŒãèµ·åããçŽåŸãèªåã®ã¢ã«ãŠã³ãã« root ãŠãŒã¶ãŒãšããŠãã°ã€ã³ããåã«å®è¡ããŸããã èªåã®ãŠãŒã¶ãŒãšããŠãã°ã€ã³ãããšãäžéšã®ããã°ã©ã ããŠãŒã¶ãŒã® /home/user ãã©ã«ããŒå ã®ãœã±ããããã¡ã€ã«ãéããŠããŸããããã¯ãªãŒã³ ã³ããŒãå°é£ã«ãªããŸãã ãåç¥ã®ãšãããroot ãŠãŒã¶ãŒã®ããŒã ãã©ã«ããŒã¯éåžž /root ãã¹äžã«ããããã/home ããŒãã£ã·ã§ã³ã§ã¯ãã¡ã€ã«ã¯éããŸããã
mkdir /mnt/newhome
mount -t nilfs2 /dev/nvme/home /mnt/newhome
cp -a /home/. /mnt/newhome
æåŸã®è¡ã«ã€ããŠã¯ããåç
§ããŠãã ããã
次ã«ã/home ã®ãã¡ã€ã« ã·ã¹ãã ãããŠã³ããããŠãã /etc/fstab ã次ã®ããã«ç·šéããŸãã
/dev/disk/by-label/nvme_home /home nilfs2 noatime 0 0
ãªãã·ã§ã³ noatime
ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããã³ã« atime ãå€åããªãããã«ããã©ãŒãã³ã¹ãåäžãããããã«å¿
èŠã§ããã 次ã«åèµ·åããŸãã
NILFS2 ã®ç»åã®çš®é¡ã
åé€ã®åœ±é¿ãåããªãéåžžã®ã¹ãããã·ã§ããã¯ããã§ãã¯ãã€ã³ããŸãã¯å埩ãã€ã³ããšåŒã°ããŸãã
èªååé€ããä¿è·ãããã¹ãããã·ã§ããã¯ã¹ãããã·ã§ãããšåŒã°ããåã«ã¹ãããã·ã§ãããšåŒã°ããŸãã
ãã§ãã¯ãã€ã³ãã®è¡šç€ºã¯ãlscp ã³ãã³ãã䜿çšããŠè¡ãããŸãã
ã¹ãããã·ã§ããã®è¡šç€º lscp -s
以äžã䜿çšããŠããã€ã§ãã¹ãããã·ã§ãããšãã§ãã¯ãã€ã³ããèªåã§äœæã§ããŸãã
mkcp [-s] ÑÑÑÑПйÑÑвП
ããŒã¿ã埩å ããããŸãã
NILFS ã䜿çšãããšãã¡ã€ã³ FS ãã©ã³ãã®æäœãšäžŠè¡ããŠãå€ãã¹ãããã·ã§ãããå¿ èŠãªã ãããŠã³ãã§ããŸãã ãã ãèªã¿åãã¢ãŒãã®ã¿ã
ãã¹ãŠã¯ãã®ããã«é 眮ãããŠããŸãã NILFS2 ãäœæããéåžžã®ãã§ãã¯ãã€ã³ãã¯ãã€ã§ã (ãã£ã¹ã¯å®¹éããªããªã£ããšãããŸã㯠nilfs_cleanerd ã«ãŒã«ã«åŸã£ãŠ) èªåçã«åé€ã§ãããããã€ã³ã¹ããŒã«åã«ãã§ãã¯ãã€ã³ããã¹ãããã·ã§ããã«å€æãããããã·ã¢èªã§ã¹ãããã·ã§ããããã£ããã£ããå¿ èŠããããŸãã
chcp ss МПЌеÑ_ÑекпПОМÑа
ãã®åŸãããšãã°æ¬¡ã®ããã«ã¹ãããã·ã§ãããããŠã³ãã§ããŸãã
mount -t nilfs2 -r -o cp=МПЌеÑ_ÑекпПОМÑа /dev/nvme/home /mnt/nilfs/МПЌеÑ_ÑекпПОМÑа
ãã®åŸã埩å
ããããã¡ã€ã«ãã¹ãããã·ã§ãããã /home ã«ã³ããŒããŸãã
次ã«ãå°æ¥èªåã¬ããŒãž ã³ã¬ã¯ã¿ãŒãå€ãããŒã¿ãåé€ã§ããããã«ãã¹ãããã·ã§ããããåé€äžå¯ãã©ã°ãåé€ããŸãã
chcp cp МПЌеÑ_ÑекпПОМÑа
NILFS2çšãŠãŒãã£ãªãã£
ãããããããåé¡ãªã®ã§ãã ã¯ãããã¡ããããã¡ã€ã« ã·ã¹ãã ã®äœæããªã³ã©ã€ã³ã§ã®ãµã€ãºå€æŽããã£ã¬ã³ãžãã€ã³ãã®ãªã¹ãã®è¡šç€ºãäœæãšåé€ãè¡ãããšãã§ããŸãã nilfs2-utils ããã±ãŒãžã¯ãæå°éã®çŽ³å£«ã»ãããæäŸããŸãã
NTT ãè³éãåæžããããããã¡ã€ã«ã®å€æŽå±¥æŽã衚瀺ããããã¹ãããã·ã§ããéã®å·®åãäœæãããã§ãããé«éã§äœã¬ãã«ã®ãŠãŒãã£ãªãã£ã¯ãããŸããã
ç§ã®n2uãŠãŒãã£ãªãã£
ãã®ç空ãåããããã«ç§ã¯æžããŸãã
n2u log filename
åºåã¯æ¬¡ã®ããã«ãªããŸãã
CHECKPOINT DATE TIME TYPE SIZE MODE
1787552 2019-11-24 22:08:00 first 7079 cp
1792659 2019-11-25 23:09:05 changed 7081 cp
ããã¯ãéžæããå®è£ æ¹æ³ã§éåžžã«è¿ éã«æ©èœããŸããäºåæ³ã䜿çšããŠãã¡ã€ã«éã®å·®ç°ãæ€çŽ¢ããç°ãªãã¹ãããã·ã§ããå ã®ãã¡ã€ã«/ãã£ã¬ã¯ããªãè¿ éã«ããŠã³ãããŠæ¯èŒããŸãã
ããŒã䜿çšããŠãã§ãã¯ãã€ã³ãã®ç¯å²ãèšå®ã§ããŸã -cp CP1:CP2
ãŸã㯠-cp {YEAR-MM-DD}:{YEAR-MM-DD}
.
ç¹å®ã®ãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã®ãã§ãã¯ãã€ã³ãéã®éãã確èªããããšãã§ããŸãã
n2u diff -r cp1:cp2 filename
å€æŽã®å šäœçãªå¹Žè¡šãã€ãŸãç¹å®ã®ãã¡ã€ã«/ãã£ã¬ã¯ããªã®ãã§ãã¯ãã€ã³ãéã®ãã¹ãŠã®çžéç¹ã衚瀺ã§ããŸãã
n2u blame [-r cp1:cp2] filename
ãã®ã³ãã³ãã®æ¥ä»ééããµããŒããããŠããŸãã
éçºè ãžã®å«ã³
ããã¬ã«ã¯å€ãã®å°é家ãããŸãã NILFS2ãçµäºããŠãã ããã ã¬ããªã±ãŒã·ã§ã³ããªããžã§ã³éã®äœã¬ãã«ã®é«éå·®åãreflink ãªã©ã®åªããæ©èœãäœæããŸãã
ãªãã¡ã¬ã³ã¹
ãªããžããª:
ãã¥ãŒã¹ã¬ã¿ãŒ:
ããããšãïŒ
- NILFS2 éçºè : å°è¥¿éä»ãäœè€å¹žæ²»ãäžææ圊ãæšåèª åžã倩è²è¯æ²»ãäžäºäžä¹ ã森åè¡ã ä»ã®äž»ãªå¯çš¿è ã¯ãã¢ã³ãã¬ã¢ã¹ã»ããŒããŒããã³ã»ãã®ãŒãããŽã£ããã»ã¢ãŒã¬ã³ããããŽã£ããã»ã¹ãããããã¯ã»ã³ã»ãããªãŒãºãããããªãŒã»ã¹ãã«ããããšãªãã¯ã»ãµã³ãã£ãŒã³ãé¢å Žæ¬¡éãããããªã»ããªãŽãäžç«¹ä»ã岩äºéããŽã£ãã§ã¹ã©ãã»ãã¥ãã€ã³ã§ãã
- ã¢ã³ããªã³ã»ãšã³ã¿ãŒãã€ã³ã¡ã³ããšãŠãããŒãµã«ã»ãã¯ãã£ãŒãºã®çŽ æŽãããæ ç»ã·ãªãŒãºã«æè¬ããŸãã
"ããã¯ã»ãã¥ã»ã¶ã»ãã¥ãŒãã£ãŒ" ã æçš¿ã®æåã®åçã¯æ ç»ãããã¯ã»ãã¥ã»ã¶ã»ãã¥ãŒãã£ãŒ3ãããã®ãã®ã - äŒæ¥
RUVDS ãµããŒããšããã¬ã®ããã°ã§å ¬éããæ©äŒãæ±ããŠãã ããã
PS ééãã«æ°ã¥ããå Žåã¯ããã©ã€ããŒã ã¡ãã»ãŒãžã§éä¿¡ããŠãã ããã ãã®ããã«ç§ã¯ã«ã«ããå¢ãããŸãã
次ã®ãµã€ãããä»®æ³ãã·ã³ã泚æããããšã§ãNILFS2 ãè©Šãããšãã§ããŸãã
åºæïŒ habr.com