ÓÅ»¯Linux´æ´¢ÐÔÄÜÒÔÌáËÙµÄÒªÁìºÍ¼¼ÇÉ
ÔõÑùµ÷ÓźÍÓÅ»¯linuxϵͳÖеĴ洢ÐÔÄÜÒÔÌá¸ßËÙÂÊ
ÔÚLinuxϵͳÖУ¬´æ´¢ÐÔÄܵÄÓÅ»¯ÊÇÌá¸ßϵͳÔËÐÐËÙÂʺÍЧÂʵÄÒªº¦ÒòËØÖ®Ò»¡£Ëæ×ÅÊý¾ÝÁ¿µÄÒ»Ö±ÔöÌíºÍÓ¦ÓøºÔصÄÔöÌí£¬ÓÅ»¯´æ´¢ÐÔÄܲ»µ«ÄÜÌá¸ßϵͳµÄÏìӦʱ¼ä£¬»¹ÄܸÄÉÆÕûϵһÇеÄÎȹÌÐԺͿɿ¿ÐÔ¡£±¾ÎĽ«ÏÈÈݼ¸ÖÖ³£¼ûµÄÒªÁìÀ´µ÷ÓźÍÓÅ»¯LinuxϵͳÖеĴ洢ÐÔÄÜ£¬ÒÔÌá¸ßϵͳËÙÂʺÍЧÂÊ¡£
Ñ¡ÔñÊʵ±µÄÎļþϵͳ£º
ÎļþϵͳÊÇÊý¾Ý´æ´¢ºÍ»á¼ûµÄ»ù´¡£¬Ñ¡ÔñÒ»¸öÊʺÏϵͳÐèÇóµÄÎļþϵͳÊǺÜÊÇÖ÷ÒªµÄ¡£³£¼ûµÄLinuxÎļþϵͳÖ÷ÒªÓÐExt4¡¢XFSºÍBtrfs¡£Ã¿ÖÖÎļþϵͳ¶¼ÓÐ×Ô¼ºµÄÌصãºÍÊÊÓó¡¾°¡£ÀýÈ磬Ext4ÊÊÊÊÓÃÓÚͨË×µÄ×ÀÃæºÍЧÀÍÆ÷ÇéÐΣ¬XFSÊÊÓÃÓÚ´óÈÝÁ¿´æ´¢ºÍ¸ßÐÔÄÜÐèÇ󣬶øBtrfsÔòÖ§³Ö¿ìÕÕºÍÊý¾ÝУÑéµÈ¸ß¼¶ÌØÕ÷¡£×¼È·Ñ¡ÔñÎļþϵͳ¿ÉÒÔÌá¸ßÎļþ²Ù×÷µÄËÙÂʺÍÐÔÄÜ¡£
ʹÓÃRAIDÊÖÒÕ£º
RAIDÊÖÒÕ£¨Redundant Array of Independent Disks£©ÊÇÒ»ÖÖͨ¹ý½«¶à¸öÎïÀí´ÅÅÌ×éºÏ³ÉÒ»¸öÂß¼¾íÀ´Ìá¸ßÐÔÄܺÍÈÝ´íÄÜÁ¦µÄ´æ´¢½â¾ö¼Æ»®¡£ÔÚLinuxϵͳÖУ¬¿ÉÒÔͨ¹ýÈí¼þRAID»òÓ²¼þRAIDʵÏÖ¡£Ê¹ÓÃRAIDÊÖÒÕ¿ÉÒÔÔöÌíÊý¾ÝµÄÈßÓà¶È£¬²¢Ìá¸ß¶ÁдÐÔÄÜ¡£¹ØÓÚÐèÒª¸ßËÙ¶ÁдµÄÊý¾Ý£¬¿ÉÒÔÑ¡ÔñRAID 0»òRAID 10Æ·¼¶£¬¶ø¹ØÓÚ¶ÔÊý¾ÝÇå¾²ÐÔÒªÇó½Ï¸ßµÄ³¡¾°£¬¿ÉÒÔÑ¡ÔñRAID 1»òRAID 5Æ·¼¶¡£
µ÷½â´ÅÅ̵÷ÀíËã·¨£º
´ÅÅ̵÷ÀíËã·¨¾öÒéÁ˲Ù×÷ϵͳ¶Ô´ÅÅ̵Ļá¼û˳ÐòºÍÓÅÏȼ¶¡£ÔÚLinuxϵͳÖУ¬Ä¬ÈÏʹÓÃCFQ£¨Completely Fair Queueing£©´ÅÅ̵÷ÀíËã·¨¡£È»¶ø£¬¹ØÓÚijЩÌض¨µÄÓ¦Óó¡¾°£¬ÈçÊý¾Ý¿âЧÀÍÆ÷ºÍ¸ß²¢·¢IO²Ù×÷£¬CFQ¿ÉÄÜÎÞ·¨µÖ´ï×î¼ÑÐÔÄÜ¡£Õâʱ¿ÉÒÔʵÑéʹÓÃNoop¡¢Deadline»òÆäËû¸üÊʺϵĵ÷ÀíËã·¨À´Ìá¸ß´ÅÅ̵ÄÏìÓ¦ËÙÂʺÍÍÌÍÂÁ¿¡£
ÎļþϵͳµÄÓÅ»¯²ÎÊý£º
LinuxϵͳÖеÄÎļþϵͳÓÐһЩÓÅ»¯²ÎÊý¿ÉÒÔµ÷½â£¬ÒÔ¸ÄÉÆ´æ´¢ÐÔÄÜ¡£ÀýÈ磬¿ÉÒÔͨ¹ýïÔÌÎļþϵͳµÄjournal¾ÞϸÀ´ïÔÌдÈëÑÓ³Ù»òͨ¹ýÔöÌímetadata»º´æÀ´¼ÓËÙÎļþµÄ²éÕҺͶÁÈ¡¡£Í¬Ê±£¬¿ÉÒÔͨ¹ýµ÷½âÎļþϵͳµÄblock¾ÞϸºÍinode¾ÞϸÀ´ÓÅ»¯ÎļþµÄ¶ÁÈ¡ºÍдÈëÐÔÄÜ¡£ÔÚµ÷½âÕâЩ²ÎÊý֮ǰ£¬½¨ÒéÏȱ¸·ÝÏà¹ØÊý¾Ý£¬ÒÔ±ÜÃâ²»¿ÉÔ¤ÁϵÄΣº¦¡£
ʹÓÃSSDºÍNVMe£º
¹Ì̬ӲÅÌ£¨SSD£©ºÍ·ÇÒ×ʧÐÔÄڴ棨NVMe£©ÊÇÏÖÔÚ´æ´¢Êг¡ÉϵÄÈÈÃÅÊÖÒÕ¡£Óë¹Å°åµÄ»úеӲÅÌÏà±È£¬SSDºÍNVMe¾ßÓиü¿ìµÄ¶ÁдËÙÂʺ͸üµÍµÄÑÓ³Ù¡£ÔÚLinuxϵͳÖУ¬Ê¹ÓÃSSDºÍNVMe¿ÉÒÔÏÔ×ÅÌá¸ßϵͳµÄ´æ´¢ÐÔÄܺÍÏìÓ¦ËÙÂÊ¡£Òò´Ë£¬ÈôÊÇÌõ¼þÔÊÐí£¬¿ÉÒÔ˼Á¿Ê¹ÓÃSSDºÍNVMeÀ´Ìæ»»»òÉý¼¶ÏÖÓеĴ洢װ±¸¡£
´ÅÅÌIOÐÔÄܵļà²âºÍÓÅ»¯£º
ÔÚLinuxϵͳÖУ¬¿ÉÒÔʹÓù¤¾ßÈçiostat¡¢iotopºÍfioµÈÀ´¼à²â´ÅÅ̵ÄIOÐÔÄÜ¡£ÕâЩ¹¤¾ß¿ÉÒÔ×ÊÖúÓû§ÏàʶϵͳµÄ´ÅÅ̶ÁдËÙÂÊ£¬ÕÒ³öIOÆ¿¾±ºÍÓÅ»¯´ÅÅÌÐÔÄÜ¡£Í¨¹ý¼à²â´ÅÅ̵ÄIOÐÔÄÜ£¬¿ÉÒÔʵʱ·¢Ã÷ÎÊÌâ²¢½ÓÄÉÏìÓ¦µÄÓÅ»¯²½·¥£¬´Ó¶øÌá¸ßϵͳµÄÕûÌåÐÔÄܺͿɿ¿ÐÔ¡£
×ܽ᣺
µ÷ÓźÍÓÅ»¯LinuxϵͳÖеĴ洢ÐÔÄÜÊÇÌá¸ßϵͳËÙÂʺÍЧÂʵÄÖ÷Òª»·½Ú¡£Í¨¹ýÑ¡ÔñÊʵ±µÄÎļþϵͳ¡¢Ê¹ÓÃRAIDÊÖÒÕ¡¢µ÷½â´ÅÅ̵÷ÀíËã·¨¡¢ÓÅ»¯Îļþϵͳ²ÎÊý¡¢Ê¹ÓÃSSDºÍNVMe¡¢¼à²âºÍÓÅ»¯´ÅÅÌIOÐÔÄܵÈÒªÁ죬¿ÉÒÔÌá¸ßϵͳµÄ´æ´¢ÐÔÄÜ£¬ÌáÉýϵͳµÄÔËÐÐËÙÂʺÍÏìÓ¦ÄÜÁ¦¡£
ÒÔÉϾÍÊÇÓÅ»¯Linux´æ´¢ÐÔÄÜÒÔÌáËÙµÄÒªÁìºÍ¼¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡