티스토리 뷰

OS/Linux

[CentOS 6.4] LVM에서 SSD 설정

유승구 2013. 5. 14. 10:39

[CentOS 6.4] LVM 에서 SSD 설정


리눅스에서 SSD를 설치하면 TRIM이란걸 지원하는지 확인해야 한다. CentOS에서는 6 버전 이상이면 지원되며 리눅스 커널이 2.6.32 이상이면 지원된다고 본다.


1. 커널 확인

이미 알고 있는 상황이지만 다시한번 재 확인을 해보자.


# uname -a


Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux



2. SSD 에서 Trim이 지원되는지 확인

hdparm 이란 유틸을 이용해서 정보를 읽을 수 있는데 Minimal로 설치한 경우 기본 설치가 되있지 않다.


# yum install hdparm

# hdparm -I /dev/sdb


       *    64-bit World wide name

           *    IDLE_IMMEDIATE with UNLOAD

           *    WRITE_UNCORRECTABLE_EXT command

           *    {READ,WRITE}_DMA_EXT_GPL commands

           *    Segmented DOWNLOAD_MICROCODE

           *    Gen1 signaling speed (1.5Gb/s)

           *    Gen2 signaling speed (3.0Gb/s)

           *    unknown 76[3]

           *    Native Command Queueing (NCQ)

           *    Host-initiated interface power management

           *    Phy event counters

           *    unknown 76[14]

                DMA Setup Auto-Activate optimization

                Device-initiated interface power management

           *    Software settings preservation

           *    SMART Command Transport (SCT) feature set

           *    SCT Data Tables (AC5)

           *    Data Set Management TRIM supported

           *    Deterministic read after TRIM

Security:

        Master password revision code = 65534

                supported

        not     enabled

        not     locked

                frozen

        not     expired: security count

                supported: enhanced erase

        4min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

Logical Unit WWN Device Identifier: 55cd2e4000070240

        NAA             : 5

        IEEE OUI        : 5cd2e4

        Unique ID       : 000070240



SSD에서 TRIM이 지원되면 위의 굵은 글씨체가 표시된다.


3. 파일 시스템에 TRIM 옵션 적용

/etc/fstab 을 편집기로 열면 ext4 저널링 시스템에 기본 defaults 설정으로 되어있다 여기에 discard 옵션을 추가한다.


# vi /etc/fstab


/dev/mapper/VolGroup-lv_root /                       ext4    defaults,discard        1 1

UUID=0b22299f-b88e-4536-b7a9-08ec81c12509 /boot                   ext4    defaults,discard        1 2

/dev/mapper/VolGroup-lv_home /home                   ext4    defaults,discard        1 2

/dev/mapper/VolGroup-lv_swap swap                    swap    defaults,discard        0 0

tmpfs                   /dev/shm                tmpfs   defaults,discard        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults,discard        0 0

proc                    /proc                   proc    defaults,discard 


# mount -oremount /dev/sdb1

# mount -oremount /dev/mapper/VolGrount-lv_home

# mount -oremount /dev/mapper/VolGrount-lv_root


#mount 


/dev/mapper/VolGroup-lv_root on / type ext4 (rw,discard)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sdb1 on /boot type ext4 (rw,discard)

/dev/mapper/VolGroup-lv_home on /home type ext4 (rw,discard)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)


LVM에 대한 이해가 무지하여 왜 이렇게 된 것인지는 모르겠지만 아주 조금 가지고 있는 지식을 이용하여 몇몇만 이렇게 설정해줬다. 후에 지식이 쌓이면 재 작성하겠다.


4. 파일 스케줄러 설정

SSD 성능을 최적으로 이끌어낼 noop이라는 파일 시스템을 사용한다. 지금은 잘 모르니까 나중에 일괄 정리해야겠다.


# echo noop > /sys/block/sdb/queue/scheduler


# cat /sys/block/sdb/queue/scheduler


[noop] anticipatory deadline cfq


이렇게 하면 모든 것이 끝났다. 부팅시 noop 스케줄러를 사용하기 위한 내용을 추가한다.


# vi /boot/grub/menu.lst


elevator=noop


5. 성능 테스트

읽기 속도 측정, 끝나면 testfile을 삭제해야 합니다.


# time dd if=/dev/zero of=testfile bs=1024 count=1024


1024+0 records in

1024+0 records out

1048576 bytes (1.0 MB) copied, 0.00164063 s, 639 MB/s


real    0m0.003s

user    0m0.000s

sys     0m0.002s


쓰기 속도 측정


# hdparm -Tt /dev/sdb


/dev/sdb:
 Timing cached reads:   26500 MB in  2.00 seconds = 13273.39 MB/sec
 Timing buffered disk reads:  1008 MB in  3.01 seconds = 335.42 MB/sec



6. 참고

SSD 사용 : http://blog.naver.com/PostView.nhn?blogId=lkcom78&logNo=110136471796

NOOP 스케줄러 : http://blog.nexcess.net/2010/11/07/changing-your-linux-io-scheduler/

성능 테스트 참고 : http://system.neulwon.com/xe/linux_os/20606





'OS > Linux' 카테고리의 다른 글

[CentOS 6.4] NFS 설정  (4) 2013.05.14
[CentOS 6.4] GPAC 설치  (0) 2013.05.14
[CentOS 6.4] LVM에서 SSD 설정  (0) 2013.05.14
[CentOS 6.4] Apache UserDir 모듈  (0) 2013.05.09
[CentOS 6.4] vsftpd 직접 설정하기  (0) 2013.05.09
[CentOS 6.4] chroot vsftpd 가상 유저 연동  (0) 2013.05.09
댓글
댓글쓰기 폼