ç¶ã»ext3ã§nano second
id:hirose31:20060221ã®ç¶ç·¨ã
ãããã®ãã¼ã¯ã¼ã(big inodeãEXT[23]_GOOD_OLD_INODE_SIZEãinode_sizeããã)ã§e2fsprogsã®ã½ã¼ã¹ãæ¢ç´¢ãã¦ãmke2fsã®ã¢ã³ããã¥ã¡ã³ããªãªãã·ã§ã³-Iãçºè¦ã-Iã¯inodeã®ãµã¤ãºãæå®ãããã®ã§ãããã©ã«ãã§128ãæå¤§ã§1024ãæå®å¯è½ã
ãããã«-I 256ã§mke2fsãã¦ã¿ãã
# mke2fs -j -I 256 /dev/sdb1 (snip) # tune2fs -l /dev/sdb1 | grep 'Inode size' Inode size: 256
ã»ãã§ãã£ã¦mountãã¦ãã¡ã¤ã«ãä½ã£ã¦ã¿ãã
# mount -t ext3 /dev/sdb1 /nano # ls --full-time /nano/foo -rw-r--r-- 1 root root 0 2006-02-28 13:05:26.615535176 +0900 /nano/foo # stat /nano/foo File: `/nano/foo' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 812h/2066d Inode: 12 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2006-02-28 13:05:26.615535176 +0900 Modify: 2006-02-28 13:05:26.615535176 +0900 Change: 2006-02-28 13:05:26.615535176 +0900
nano secondãã¿ã¼ï¼
ã¡ãªã¿ã«ãXFSã¯ãªããããªãã¦ãnano secãReiserFSã¯v4ã§ãnano secã§ã¯ãªãããã§ãã
ãã§ããªãã§nano secondã«ãã ãããã¨ããã¨ãããããã¨ã§ãã
NFSã§ã
- åããã¡ã¤ã«ã«å¯¾ãã¦
- ããä¸ç§ã®éã«
- è¤æ°ã®ç°ãªãNFSã¯ã©ã¤ã¢ã³ããã¹ããã
- åããµã¤ãºã®ãã¼ã¿ã
- æ¸ãè¾¼ãã
ãªå ´åã«ãæ£ãããã¼ã¿ãèªã¿åºããªãããã§ãã
å ·ä½çã«ã¯ããã§ãã
NFSã¯ã©ã¤ã¢ã³ããã¹ãC1ã¨C2ãããã¨ãã¦ãæç³»åã«æ¬¡ã®å¦çãè¡ããã¾ããã
- ããä¸ç§ã®éã«
- C1ããããã¡ã¤ã«ããreadããããabcããå¾ã¾ããã
- C1ããããã¡ã¤ã«ã«ãabcããwriteãã¾ããã
- C2ããããã¡ã¤ã«ããreadããããabcããå¾ã¾ããã
- C2ããããã¡ã¤ã«ã«ãxyzããwriteãã¾ããã
ãã®å¾ãæ°ç§å¾ã«ãC1ããããã¡ã¤ã«ãreadããã¨ããxyzããå¾ãããã®ãæ£ããã®ã§ããããabcããå¾ããã¦ãã¾ãã¾ããï¼C2ã¯æ£ãããxyzããå¾ããã¾ãï¼
åå ã¯linux/fs/nfs/inode.cã®nfs_refresh_inodeã«ããã¾ããããã§ã¯ãNFSãµã¼ãã®ãã¡ã¤ã«ã夿´ããã¦ãããã©ãããã
- mtime
- ãã¡ã¤ã«ãµã¤ãº
ã§ç¢ºèªãã¦ãã¾ãã
ã¤ã¾ãããã®2ã¤ã®æ¡ä»¶ãåãã§ããã°ããã¡ã¤ã«ã¯æ´æ°ããã¦ããªãã¨ã¿ãªããã¦ãNFSã¯ã©ã¤ã¢ã³ãã«ä¿æããã¦ãããã£ãã·ã¥ã使ããã¾ãããããC1ã§ãxyzãã§ã¯ãªããabcããreadãããçç±ã§ãã
ãã¡ã¤ã«ãµã¤ãºãåä¸ã«ãªãã®ã¯å ´åã«ãã£ã¦ã¯ã¾ãããããªãã¨ãã¦ãmtimeãåãã«ãªã£ã¦ãã¾ãã®ã¯ãNFSãµã¼ãå´ã®ãã¡ã¤ã«ã·ã¹ãã ã®mtimeã®åè§£è½ãç§ã§ãããã¨ããã®åå ã§ããå°ãªãã¨ãLinuxã®NFSãµã¼ã/ã¯ã©ã¤ã¢ã³ãã®å®è£ ã§ã¯NFSçã«ç§ä»¥ä¸ã®mtimeãæ±ããããã«ãªã£ã¦ããã®ã§ãNFSãµã¼ãå´ã®ãã¡ã¤ã«ã·ã¹ãã ãç§ããå°ããmtimeãæ±ãããã®ã«ãã¦ãããã°ãã®åé¡ã¯çºçããªããªãã¾ãã
ã»ããããnano secondãµãã¼ããã¦ããXFSã§ãããããã¨ãªãããã§ãããã¡ãã£ã¨ããäºæ ã§XFSã ã¨ä¸é½åãããã®ã§ãä»ã®ãã¡ã¤ã«ã·ã¹ãã ã§nano secondãµãã¼ãã§ããªãã調ã¹ã¦ããããã§ãã
åèã¾ã§ã«ãnano second以å¤ã®ã¨ããããçãªã»ãã®å¯¾å¿æ¹æ³ã¯ä»¥ä¸ã®éãã
- ããã¼ãã¼ã¿ãã¤ããããã¦ãwriteãããã¨ã«ãã¡ã¤ã«ãµã¤ãºãç°ãªãããã«ããã
- writeããã¨ãã«rename(2)ãã¦inodeãå¤ããã
- ããã¯ããããã¦ãæ¸ãè¾¼ã¿ééãä¸ç§ä»¥ä¸ãããããã«ããã