tech_memo / linux / Disk


tech_memo/linux

iostat¤ä¡¢sar¤Î¥Ç¥£¥¹¥¯½ÐÎϹàÌܤΤ狼¤ê¤ä¤¹¤¤»ñÎÁ

ATM¤Ç¤¿¤È¤¨¤Æ¤ë¤ä¤Ä

await¡¢svctm¤Î°ã¤¤Æò½¤ÎÀâÌÀ

  • ²¼µ­Èó¾ï¤Ë¤ï¤«¤ê¤ä¤¹¤¤
  • ´°·ë¤Ë¤Þ¤È¤á¤ë¤È¡¢
    ­¡IO¥ê¥¯¥¨¥¹¥È¸µ
    ¡¡¡¡|
    ­¢OS¥Ç¥Ð¥¤¥¹(/dev/sdaÅù)
    ¡¡¡¡|
    ­£¥¹¥È¥ì¡¼¥¸
  • svctm¤Ï¡¢­¢¡Á­£¤Î»þ´Ö
  • await¤Ï¡¢­¡¡Á­£¤Î»þ´Ö

Disk¤È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¦VG¤Î´ØÏ¢¤ò¥Ä¥ê¡¼É½¼¨

  • lsblk¥³¥Þ¥ó¥É
    [root@testserver13 ~]# lsblk
    NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda                       8:0    0   136G  0 disk
    ¨§¨¡sda1                    8:1    0   100M  0 part
    ¨¦¨¡sda2                    8:2    0 135.9G  0 part
      ¨§¨¡VolGroup00-LogVol00 253:2    0 119.8G  0 lvm
      ¨¦¨¡VolGroup00-LogVol01 253:3    0    16G  0 lvm
    sdb                       8:16   0 558.3G  0 disk
    ¨§¨¡sdb1                    8:17   0   100M  0 part
    ¨§¨¡sdb2                    8:18   0   200G  0 part
    ¨¢ ¨§¨¡VG_rhel65-LV_root   253:6    0   184G  0 lvm
    ¨¢ ¨¦¨¡VG_rhel65-LV_swap   253:7    0    16G  0 lvm
    ¨§¨¡sdb3                    8:19   0   300M  0 part
    ¨§¨¡sdb4                    8:20   0     1K  0 part
    ¨§¨¡sdb5                    8:21   0   200G  0 part
    ¨¢ ¨§¨¡VG_rhel71-LV_swap   253:4    0    16G  0 lvm
    ¨¢ ¨¦¨¡VG_rhel71-LV_root   253:5    0 183.7G  0 lvm
    ¨§¨¡sdb6                    8:22   0   300M  0 part /boot
    ¨¦¨¡sdb7                    8:23   0   100G  0 part
      ¨§¨¡VG_rhel72-LV_root   253:0    0  83.7G  0 lvm  /
      ¨¦¨¡VG_rhel72-LV_swap   253:1    0    16G  0 lvm  [SWAP]
    sr0                      11:0    1  1024M  0 rom

dm-X (device mapper)

  • iostat¤ò¼Â¹Ô¤·¤¿¤È¤­¤Ëɽ¼¨¤µ¤ì¤ëdm-0¤È¤«¤Ï¡¢LVM¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤­¤Î¡¢lv¤Î¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë¤Î¤³¤È
  • ¥Ç¥Ð¥¤¥¹¥Õ¥¡¥¤¥ë̾¤È¡¢lv¤Î¥ê¥ó¥¯¤Ï/dev/mapperÇÛ²¼¤Ç³Îǧ¤Ç¤­¤ë(RHEL6°Ê¾å)
    [root@testserver14 ~]# ls -l /dev/mapper/
    total 0
    crw-rw---- 1 root root 10, 58 Dec  9 17:06 control
    lrwxrwxrwx 1 root root      7 Jan 13 21:09 VolGroup00-LogVol00 -> ../dm-0
    lrwxrwxrwx 1 root root      7 Jan 13 21:09 VolGroup00-LogVol01 -> ../dm-1
  • RHEL5¤Î¾ì¹ç¤Ï¡¢¾åµ­¾ðÊó¤Ï¼èÆÀ¤Ç¤­¤Ê¤¤¡£Block¥Ç¥Ð¥¤¥¹Èֹ椫¤éȽÊ̤¹¤ë
    • dm-x¤ÎBlock¥Ç¥Ð¥¤¥¹ÈÖ¹æ
      [root@myserver ~]# cat /sys/block/dm-0/dev
      253:0
    • lv¤ÎBlock¥Ç¥Ð¥¤¥¹ÈÖ¹æ(ÊýË¡1(¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎÂå¤ï¤ê¤Ëɽ¼¨¤µ¤ì¤ë))
      [root@myserver ~]# ll /dev/mapper/
      total 0
      crw------- 1 root root  10, 63 Jul 24  2014 control
      brw-rw---- 1 root disk 253,  0 Jul 24  2014 VolGroup00-LogVol00
      brw-rw---- 1 root disk 253,  1 Jul 24  2014 VolGroup00-LogVol01
  • lv¤ÎBlock¥Ç¥Ð¥¤¥¹ÈÖ¹æ(ÊýË¡2)
    [root@myserver ~]# lvdisplay  | grep -E "LV Name|Block device"
      LV Name                /dev/VolGroup00/LogVol00
      Block device           253:0
      LV Name                /dev/VolGroup00/LogVol01
      Block device           253:1
  • lv¤ÎBlock¥Ç¥Ð¥¤¥¹ÈÖ¹æ(ÊýË¡3)
    [root@myserver ~]# dmsetup ls
    VolGroup00-LogVol01     (253, 1)
    VolGroup00-LogVol00     (253, 0)

DiskÀ­Ç½Â¬Äê (bonnie++)

¼Â¹Ô¼ê½ç

  • memory¤Ë¥­¥ã¥Ã¥·¥å¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¥á¥â¥ê¥µ¥¤¥º¤ÎÇܤ¯¤é¤¤¤Îlog¤¬½ÐÎϤµ¤ì¤ë¤Î¤Ç¡¢disk¤Ë¶õ¤­¤Î¤¢¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÍÑ°Õ¤¹¤ë
    mkdir /u01/tmp
  • ²¼µ­¤Î¥³¥Þ¥ó¥É¤ÇÀ­Ç½Â¬Ä꤬¼Â¹Ô¤µ¤ì¤ë
    ./bonnie++ -d /u01/tmp -u shishimaru

¼Â¹Ô·ë²Ì¥µ¥ó¥×¥ë

  • °Ê²¼¤Î¤è¤¦¤Ëɸ½à½ÐÎϤµ¤ì¤ë
    Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
    Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
    Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
    testserver12        100552M   864  99 254651  91 119893  13  4192  99 227784  13  2705  98
    Latency              9441us     269ms     194ms    3191us    4457us    3796us
    Version  1.96       ------Sequential Create------ --------Random Create--------
    testserver12                -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
                  files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                     16  8405   8 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
    Latency                82us     431us     381us      79us      20us      36us
    1.96,1.96,testserver12,1,1436157629,100552M,,864,99,254651,91,119893,13,4192,99,227784,13,2705,98,16,,,,,8405,8,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,9441us,269ms,194ms,3191us,4457us,3796us,82us,431us,381us,79us,20us,36us
  • ¸«Êý
    ¡ûSequential Output¡§Ï¢Â³¤Ç¤Î½ñ¹þ¤ß
    ¡¡¡¦Per Chr¡§¥­¥ã¥é¥¯¥¿Ã±°Ì¤Ç¤Î¥¢¥¯¥»¥¹
    ¡¡¡¦Block¡§¥Ö¥í¥Ã¥¯Ã±°Ì¤Ç¤Î¥¢¥¯¥»¥¹
    ¡¡¡¦Rewrite¡§Æɹþ¤ß¡¢½ñ¹þ¤ß¤Î·«¤êÊÖ¤·
    
    ¡ûSequential Input¡§Ï¢Â³¤Ç¤ÎÆɹþ¤ß
    ¡¡¡¦Per Chr¡§¥­¥ã¥é¥¯¥¿Ã±°Ì¤Ç¤Î¥¢¥¯¥»¥¹
    ¡¡¡¦Block¡§¥Ö¥í¥Ã¥¯Ã±°Ì¤Ç¤Î¥¢¥¯¥»¥¹
    
    ¡ûRandom¡§¥é¥ó¥À¥à¥¢¥¯¥»¥¹
    
    ¡ûSequential Create¡§Ï¢Â³¤Ç¤Î¥Õ¥¡¥¤¥ëºîÀ®¡¦Æɹþ¤ß¡¦ºï½ü
    ¡¡¡¦Create¡§¥Õ¥¡¥¤¥ëºîÀ®
    ¡¡¡¦Read¡§¥Õ¥¡¥¤¥ëÆɹþ¤ß
    ¡¡¡¦Delete¡§¥Õ¥¡¥¤¥ëºï½ü 
    
    ¡ûRandom Create¡§¥é¥ó¥À¥à¤Ç¤Î¥Õ¥¡¥¤¥ëºîÀ®¡¦Æɹþ¤ß¡¦ºï½ü
    ¡¡¡¦Create¡§¥Õ¥¡¥¤¥ëºîÀ®
    ¡¡¡¦Read¡§¥Õ¥¡¥¤¥ëÆɹþ¤ß
    ¡¡¡¦Delete¡§¥Õ¥¡¥¤¥ëºï½ü 
    
  • ºÇ¸å¤Î¹Ô¤ÎCSV¤òbon_csv2html¤Ëɸ½àÆþÎϤÇÅϤ¹¤³¤È¤ÇHTML¤Î·ë²Ì¤¬¼èÆÀ¤Ç¤­¤ë
    echo "1.96,1.96,testserver12,......" | bon_csv2html  > bonnie_result.html

ext4¤ÎÀ­Ç½

Raw Device¤ÎÀ­Ç½Â¬Äê

  • vdbench ¤¬»È¤¨¤ë
    • https://blogs.oracle.com/yappri/entry/vdbench
      [root@racserver1 vdbench ]# ./vdbench -f myconf.txt -o /var/tmp/result+
      [root@racserver1 vdbench ]# cat myconf.txt
      sd=sde,lun=/dev/ora_data,size=948114030592,openflags=o_direct
      wd=wd1,sd=sde,xfersize=8k,rdpct=100,seekpct=100
      rd=rd1,wd=wd1,iorate=max,elapsed=300,interval=30

disk I/O scheduler

  • Linux¤Î¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¡¢readÍ׵᤬¿ȯ¤¹¤ë¤È¡¢write¤òÂÔµ¡¤µ¤»¤Æread¤Ë½¸Ã椹¤ë¡Ê¤È¤¤¤¦·¹¸þ¤Ë¤¢¤ë¤é¤·¤¤¡Ë
  • ¤³¤Î¥¹¥±¥¸¥å¡¼¥é¤ÎÀßÄê¥Õ¥¡¥¤¥ë
    # cat /sys/block/sda/queue/scheduler
    noop anticipatory deadline [cfq]
    ¢¬
    cfg¤¬¥Ç¥Õ¥©¥ë¥ÈÀßÄê
  • read¤¬Â¿È¯¤·¤Æ¤â¤¢¤ë°ìÄê¤Îwrite¤ò¹Ô¤¦Êѹ¹ÊýË¡ (ºÆµ¯Æ°¤Ê¤·¤Î°ì»þŪÊѹ¹¡Ë
    # echo default > /sys/block/sda/queue/scheduler
    # cat /sys/block/sda/queue/scheduler
    noop anticipatory [deadline] cfq
  • ±Ê³Êѹ¹ÊýË¡
    • /etc/grub.conf¤Îkernel¤Î¥é¥¤¥ó¤Ëelevator=deadline¤òÄɲ䷤ƺƵ¯Æ°
      title Red Hat Enterprise Linux Server (2.6.l8-l94.el5)
            root (hd0,0)
            kernel /vmlinuz-2.6.l8-194.el5 ro
      root=/dev/VolGroup00/LogVol00 elevator=deadline rhgb quiet
            initrd /initrd-2.6.l8-l94.el5.img

LVM

disk pertition

pertitionºï½ü