Tag: kernel
zfs 실 사용에 있어 커널 설정.
by joony on 12.14, 2009, under IT & Tech
zfs 사용 하면서, 성능을 향상 시키기 위한 커널 세팅을 밥먹듯이 한것 같습니다.
특히 iSCSI 에서 좀더 극대의 성능과, 좀더 빠른 Access time 를 얻고자 솔라리스 많이 괴롭힌듯 합니다. 지금 현재 fedora 를 iSCSI 루트 파티션에 설치 하여 사용 중인데, 제가 가진 하드웨어에선 어느 정도 만족 하며 사용 중입니다. 제가 설치한 시스템이 남는 시스템으로 구축한 환경이어서, hdd 도 구형 ide 방식에 설치 하였고, cache 도 usb 하드에 설치한 만큼, 시스템 성능이 따라와주지 않는것 빼고는 만족할 만한 성능으로 사용 중입니다. 하지만, 처음엔 성능에 의심이 들 정도로 사용 하기 힘들었지만, 역시 튜닝은 컴퓨터 세상에선 죽은 사람도 살려내는 재주가 있나 봅니다.
지금 부터 추가할 kernel 설정은 약간의 모험정신과, 데이타 세트가 깨지지 않게 하기 위해 APC 와 같은 무정전 장치를 필요로 한다는 전제하에 설명 드리려 합니다. solaris 에서 커널 설정 은 “/etc/system” 에 위치 합니다. 그리고 위의 설정값들이 모든 경우에 성능 향상을 불러 오지 않을 수 있기 때문에 충분한 테스트.. 아울러, solaris 10 u8 최신 버젼을 필요로 합니다. 만약 u6 에선, 인식 못하는 kernel value가 있을 수 있습니다.
zfs 에서 성능 관련 설정은 거의 cache 를 이용하는것과, 인터럽트 관리 쪽인데.
제 설정 값입니다. 설정해준 값과, 특히 zfs_immediate_write_sz = 8191 값은 조금씩 시스템 환경에 따라 틀려 지기는 합니다. 제 경우엔 시스템 메모리가 1G 인 테스트 환경에서 작성 되었기 때문에, 메모리를 좀더 사용하게 할 수 있는 옵션인 set zfs:zfs_arc_max = 32212254720 이부분은 설정 하지 않았습니다. 시스템 메모리가, 30기가 이상인 시스템에선.. 하지만, 자신의 상황에 맞게 수정하여 옵션 설정 해주시면 될듯 하구요.
mdb -k 에서 메모리 스탯을 확인해 보면, mdb -k 하시고 ::memstat 해보시면, zfs 가 얼마나 메모리를 많이 잡아 먹는지 확인이 가능 합니다.

거의 시스템에 56 % 나 점령해 버린 상태 이기 때문에, multi user 상황에선, 많은 메모리를 필요 하다 생각 됩니다. 이 상태는 iSCSI 에서 운영 체제를 가용 할 상태에서 캡쳐 한 것이나, zfs 가 파일을 많이 잡아 먹긴 한다고 하니까 기본 넉넉한 메모리가 필요 하겠습니다.
이렇게 설정 하고, zfs 볼륨에서, check sum 기능을 해지 하시고, zfs 를 통한 iscsi target 의 경우. ack 기능을 활성화 하여 좀더 성능 향상을 도모 할 수 있겠습니다. “iscsitadm show admin” 하셔서 현재 상태를 체크해 보시고,
제일 아래 항목인 Fast Write ACK: Enable 상태라면 따로 안해주셔도 되겠지만, 만약 Disable 일 경우엔, “iscsitadm admin --fast-write-ack|-f enable" 으로 활성화가 가능 합니다.
그리고 usb 플래쉬 저장 장치가 있으시면 캐쉬로 설정 하여서, 좀더 부드러운 활용도 가능 한데.
저 상태 처럼, usb cache 장치에서, 활용 하고 있는 상태입니다. 캐쉬를 사용 하면, 약간의 성능 향상을 보실 수 있습니다. 다만, pci-ex 형태의 ssd 저장 장치를 이용하는것도 좋은 방법이라 생각 되기도 합니다. 실제로 sun 에서 보조 cache 를 판매 하고 있어서, ssd 장치와 결합하여, 좀더 낳은 성능으로 튜닝도 가능 합니다.
fedora 부팅해서 지금까지 사용한 내역 입니다. 엄청 많이 써 댔군요.
참 아름다운 FS 라 생각이 되는 zfs 역시 뜨거운 손맛으로 어루 만져 줘야 성능도, 지금은 어느 정도 만족하면서 사용 중입니다. zfs 를 사용해서, 얻는 이득은 client 마다 raid 카드니 혹은 디스크를 여러개가 필요 없단 점과, 윈도우 리눅스 혹은 맥에서, 중요 데이타 보관을 위한 좋은 저장 장치란 점에서 zfs 를 구축하여 제대로 사용이 가능 하다면, 참 좋을것 같습니다.