탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: ZFS 파일 시스템 Oracle Solaris 11 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS와 전통적인 파일 시스템의 차이
4. Oracle Solaris ZFS 저장소 풀 관리
6. Oracle Solaris ZFS 파일 시스템 관리
7. Oracle Solaris ZFS 스냅샷 및 복제 작업
8. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
11. Oracle Solaris ZFS 문제 해결 및 풀 복구
다음 절에서는 ZFS 저장소 풀을 만들고 모니터하는 권장 방법을 제공합니다. 저장소 풀 문제 해결에 대한 자세한 내용은 11 장Oracle Solaris ZFS 문제 해결 및 풀 복구를 참조하십시오.
최신 Solaris 릴리스와 패치를 사용하여 시스템을 최신 상태로 유지합니다.
실제 시스템 작업 부하에 대한 크기 메모리 요구 사항을 충족합니다.
데이터베이스 응용 프로그램 등에 대해 알려진 응용 프로그램 메모리 단위를 사용하여 ARC 크기 상한을 제한하면 응용 프로그램이 ZFS 캐시에서 필요한 메모리를 재생 이용할 필요가 없습니다.
중복 제거 메모리 요구 사항을 고려해 보십시오.
다음 명령으로 ZFS 메모리 사용량을 식별합니다.
# mdb -k > ::memstat Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 388117 1516 19% ZFS File Data 81321 317 4% Anon 29928 116 1% Exec and libs 1359 5 0% Page cache 4890 19 0% Free (cachelist) 6030 23 0% Free (freelist) 1581183 6176 76% Total 2092828 8175 Physical 2092827 8175 > $q
메모리 손상을 방지하지 위해 ECC 메모리를 사용하는 것이 좋습니다. 기록되지 않은 메모리 손상으로 인해 데이터가 손상될 수 있습니다.
정기 백업 수행 – ZFS 중복을 사용하여 만든 풀은 하드웨어 고장으로 인한 작동 중지 시간을 줄이는 데 도움이 되지만 하드웨어 고장, 정전 또는 연결 해제된 케이블의 영향을 받습니다. 정기적으로 데이터를 백업해야 합니다. 데이터가 중요한 경우 백업해야 합니다. 데이터 복사본을 제공하는 여러 가지 방법은 다음과 같습니다.
정기 또는 일별 ZFS 스냅샷
ZFS 풀 데이터의 주별 백업. zpool split 명령을 사용하여 미러링된 ZFS 저장소 풀의 정확한 복제본을 만들 수 있습니다.
엔터프라이즈 레벨 백업 제품을 사용한 월별 백업
하드웨어 RAID
ZFS가 저장소와 중복을 관리할 수 있도록 하드웨어 RAID 대신 JBOD 모드를 저장소 배열에 사용하는 것이 좋습니다.
하드웨어 RAID나 ZFS 중복(또는 둘 다)을 사용합니다.
ZFS 중복 사용 시 여러 가지 이점 – 운용 환경의 경우 데이터 불일치를 복구할 수 있도록 ZFS를 구성합니다. 기본 저장소 장치에 구현된 RAID 레벨에 관계 없이 RAIDZ, RAIDZ-2, RAIDZ-3, 미러와 같은 ZFS 중복을 사용합니다. 이러한 중복을 사용하면 기본 저장소 장치나 그 호스트 연결에 결함이 발생할 경우 ZFS에서 복구하고 수리할 수 있습니다.
충돌 덤프는 물리적 메모리 범위의 1/2- 3/4 크기로 추가 디스크 공간을 사용합니다.
다음 절에서는 일반 및 특정 풀 방법을 제공합니다.
전체 디스크를 사용하여 디스크 쓰기 캐시를 사용으로 설정하고 유지 관리를 용이하게 합니다. 슬라이스에 풀을 만들면 디스크 관리 및 복구가 더 복잡해집니다.
ZFS가 데이터 불일치를 복구할 수 있도록 ZFS 중복을 사용합니다.
비중복 풀을 만들면 다음 메시지가 표시됩니다.
# zpool create tank c4t1d0 c4t3d0 'tank' successfully created, but with no redundancy; failure of one device will cause loss of the pool
미러링된 풀의 경우 미러링된 디스크 쌍을 사용합니다.
RAIDZ 풀의 경우 VDEV당 3-9개 디스크 그룹으로 묶습니다.
핫 스페어를 사용하여 하드웨어 고장으로 인한 작동 중지 시간을 줄입니다.
장치 간에 I/O가 균형을 이루도록 유사한 크기의 디스크를 사용합니다.
작은 LUN을 큰 LUN으로 확장할 수 있습니다.
최적의 metaslab 크기를 유지하려면 차이가 심한 경우(예: 128MB와 2TB) LUN을 확장하지 마십시오.
더 빠른 시스템 복구를 지원하기 위해 작은 루트 풀과 큰 데이터 풀을 만드는 것이 좋습니다.
s* 식별자를 사용하여 슬라이스로 루트 풀을 만듭니다. p* 식별자는 사용하지 마십시오. 일반적으로 시스템의 ZFS 루트 풀은 시스템 설치 시 만들어집니다. 다른 루트 풀을 만들거나 루트 풀을 다시 만드는 경우 다음과 비슷한 구문을 사용합니다.
# zpool create rpool c0t1d0s0
또는 미러링된 루트 풀을 만듭니다. 예를 들면 다음과 같습니다.
# zpool create rpool mirror c0t1d0s0 c0t2d0s0
루트 풀은 미러된 구성 또는 단일 디스크 구성으로 만들어야 합니다. RAID-Z 또는 스트라이프 구성은 지원되지 않습니다. zpool add 명령을 사용하여 디스크를 추가함으로써 여러 미러된 최상위 레벨 가상 장치를 만들 수 없지만, zpool attach 명령을 사용하여 미러된 가상 장치를 확장할 수는 있습니다.
루트 풀은 별도의 로그 장치를 가질 수 없습니다.
AI 설치 도중 풀 등록 정보를 설정할 수 있지만 gzip 압축 알고리즘은 루트 풀에서 지원되지 않습니다.
초기 설치로 루트 풀을 만든 후에는 루트 풀 이름을 바꾸지 마십시오. 루트 풀의 이름을 바꾸면 시스템이 부트되지 않을 수 있습니다.
d* 식별자를 사용하여 전체 디스크로 비루트 풀을 만듭니다. p* 식별자를 사용하지 마십시오.
ZFS는 추가 볼륨 관리 소프트웨어 없이도 잘 작동합니다.
최상의 성능을 위해 개별 디스크 또는 소수의 디스크로 구성된 최소 LUN을 사용합니다. ZFS에 LUN 설정을 보다 자세히 표시하면 ZFS가 더 나은 I/O 일정 잡기 결정을 내릴 수 있습니다.
여러 제어기에서 중복 풀 구성을 만들어 제어기 오류로 인한 작동 중지 시간을 줄입니다.
미러링된 저장소 풀 – 추가 디스크 공간을 사용하지만 일반적으로 임의 읽기가 작을 때 성능이 더 좋습니다.
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
RAID-Z 저장소 풀 – 패리티가 1(raidz), 2(raidz2) 또는 3(raidz3)인 3개의 패리티 전략을 사용하여 만들 수 있습니다. RAID-Z 구성은 디스크 공간을 최대화하며 일반적으로 데이터를 큰 청크(128K 이상)로 쓰고 읽을 때 성능이 향상됩니다.
각각 3개 디스크(2+1)의 2개 VDEV가 포함된 단일 패리티 RAID-Z(raidz) 구성을 고려해 보십시오.
# zpool create rzpool raidz1 c1t0d0 c2t0d0 c3t0d0 raidz1 c1t1d0 c2t1d0 c3t1d0
RAIDZ-2 구성은 더 향상된 데이터 가용성을 제공하며, RAID-Z와 비슷한 성능을 제공합니다. 또한 RAID-Z 또는 양방향 미러에 비해 상당히 향상된 MTTDL(Mean Time To Data Loss)을 제공합니다. 6개의 디스크(4+2)에 이중 패리티 RAID-Z(raidz2) 구성을 만듭니다.
# zpool create rzpool raidz2 c0t1d0 c1t1d0 c4t1d0 c5t1d0 c6t1d0 c7t1d0 raidz2 c0t2d0 c1t2d0 c4t2d0 c5t2d0 c6t2d0 c7t2d
RAIDZ-3 구성은 디스크 공간을 최대화하며, 세 개의 디스크 오류를 견딜 수 있으므로 뛰어난 가용성을 제공합니다. 9개 디스크(6+3)에서 삼중 패리티 RAID-Z(raidz3) 구성을 만듭니다.
# zpool create rzpool raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 c8t0d0
Oracle 데이터베이스를 만드는 경우 다음 저장소 풀 방법을 고려해 보십시오.
미러링된 풀 또는 하드웨어 RAID를 풀에 사용합니다.
RAID-Z 풀은 일반적으로 임의 읽기 작업 부하에 권장되지 않습니다.
데이터베이스 리두 로그에 별도의 로그 장치를 사용하여 작은 개별 풀을 만듭니다.
아카이브 로그에 대한 작은 개별 풀을 만듭니다.
자세한 내용은 다음 백서를 참조하십시오.
http://blogs.oracle.com/storage/entry/new_white_paper_configuring_oracle
최고 성능을 얻으려면 풀 용량을 80% 아래로 유지합니다.
임의 읽기/쓰기 작업 부하의 경우 미러링된 풀이 RAID-Z 풀보다 권장됩니다.
별도의 로그 장치
동기식 쓰기 성능 향상을 위해 권장됩니다.
높은 동기식 쓰기 부하 상태에서 기본 풀에 많은 로그 블록을 쓰지 않도록 단편화를 최소화합니다.
읽기 성능을 향상시키려면 별도의 캐시 장치를 사용하는 것이 좋습니다.
스크러빙/리실버링 - 수많은 장치가 있는 매우 큰 RAID-Z 풀은 스크러빙 및 리실버링 시간이 오래 걸립니다.
풀 성능이 느립니다. zpool status 명령을 사용하여 풀 성능 문제를 발생시키는 하드웨어 문제를 제외합니다. zpool status 명령에서 문제가 표시되지 않는 경우 fmdump 명령을 사용하여 하드웨어 오류를 표시하거나 fmdump -eV 명령을 사용하여 보고된 결함을 초래하지 않은 하드웨어 오류를 모두 검토합니다.
최상의 성능을 위해 풀 용량이 80% 미만인지 확인합니다.
풀이 가득 차 있고 파일 시스템이 자주 업데이트되는 경우(예: 활발한 메일 서버) 풀 성능이 저하될 수 있습니다. 가득 찬 풀은 성능 저하를 일으킬 수 있지만 다른 문제는 없습니다. 주요 작업 부하가 변경할 수 없는 파일인 경우 풀 사용률을 95-96% 범위로 유지합니다. 95-96% 범위에서는 가장 정적인 컨텐츠조차 쓰기, 읽기, 리실버링 성능이 악화될 수 있습니다.
풀 및 파일 시스템 공간이 가득 차지 않도록 이러한 공간을 모니터링합니다.
파일 시스템 공간이 풀 용량의 80%를 초과하지 않도록 ZFS 쿼터 및 예약을 사용하십시오.
풀 건전성 모니터
중복 풀의 경우 매주 zpool status 및 fmdump를 사용하여 풀을 모니터합니다.
비중복 풀의 경우 격주로 zpool status 및 fmdump를 사용하여 풀을 모니터합니다.
정기적으로 zpool scrub을 실행하여 데이터 무결성 문제를 식별합니다.
소비자 품질의 드라이브가 있는 경우, 주 단위 스크러빙 일정을 고려합니다.
데이터 센터 품질의 드라이브가 있는 경우, 월 단위 스크러빙 일정을 고려합니다.
모든 장치가 현재 작동하는지 확인하려면 장치를 교체하거나 풀 중복성을 일시적으로 줄이기 전에 스크러빙을 실행해야 합니다.
풀 또는 장치 오류 모니터링 - 아래 설명된 대로 zpool status를 사용합니다. fmdump 또는 fmdump -eV를 사용하여 장치 결함이나 오류가 발생했는지도 확인합니다.
중복 풀의 경우 매주 zpool status 및 fmdump를 사용하여 풀 건전성을 모니터합니다.
비중복 풀의 경우 격주로 zpool status 및 fmdump를 사용하여 풀 건전성을 모니터합니다.
풀 장치가 UNAVAIL 또는OFFLINE입니다. 풀 장치를 사용할 수 없는 경우 장치가 format 명령 출력에 나열되는지 확인합니다. 장치가 format 출력에 나열되지 않는 경우 ZFS에 표시되지 않습니다.
풀 장치가 UNAVAIL 또는 OFFLINE인 경우 장치에서 장애가 발생했거나 케이블 연결이 해제되었거나 불량 케이블 또는 불량 제어기와 같은 기타 하드웨어 문제로 인해 장치에 액세스할 수 없는 것입니다.
하드웨어 구성 요소에 결함이 있는 것으로 진단되면 알리도록 smtp-notify 서비스를 구성하는 것이 좋습니다. 자세한 내용은 smf(5) 및 smtp-notify(1M)의 알림 매개변수 절을 참조하십시오.
기본적으로 일부 알림은 루트 사용자에게 자동으로 전송되도록 설정됩니다. /etc/aliases 파일에서 루트로 사용자 계정에 대한 별칭을 추가하면 다음과 비슷한 전자 메일 알림을 받게 됩니다.
-------- Original Message -------- Subject: Fault Management Event: tardis:SMF-8000-YX Date: Wed, 21 Sep 2011 11:11:27 GMT From: No Access User <noaccess@tardis.drwho.COM> Reply-To: root@tardis.drwho.COM To: root@tardis.drwho.COM SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Wed Sep 21 11:11:27 GMT 2011 PLATFORM: Sun-Fire-X4140, CSN: 0904QAD02C, HOSTNAME: tardis SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: d9e3469f-8d84-4a03-b8a3-d0beb178c017 DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool may be compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device.
저장소 풀 공간을 모니터합니다. zpool list 명령과 zfs list 명령을 사용하여 파일 시스템 데이터에서 사용하는 디스크 크기를 식별합니다. ZFS 스냅샷은 디스크 공간을 사용할 수 있으며, zfs list 명령으로 나열되지 않는 경우 자동으로 디스크 공간을 사용할 수 있습니다. zfs list -t 스냅샷 명령을 사용하여 스냅샷에서 사용되는 디스크 공간을 식별합니다.