ZFS 파일 시스템(8) - SLOG

4694 단어 ZFS 파일 시스템
SLOG 추가
일부 디스크는 디스크와 일치하는 방식으로 리눅스 핵을 다시 시작하지 않기 때문에 때때로 유도 디스크는/dev/sda일 수도 있고 다음에는/dev/sdb일 수도 있다. 메인 저장소에 대해서는 문제가 되지 않는다. 왜냐하면 ZFS는 메타데이터를 바탕으로 VDEVS를 재구성할 수 있기 때문이다. 그러나 L2ARC와 SLOG 등 메타데이터가 존재하지 않는 장치에 대해서는/dev/sdx를 통해 추가해야 하는가?다음 부팅에서 디스크가 SLOG로 설정되어야 하는 장치인지 확인할 수 없습니다. 따라서/dev/disk/by-id/* 라는 이름으로 디스크를 확인해야 합니다. 만약 당신이 이렇게 한다면, SLOG가 저장소에 가입하지 못할 수도 있습니다. 이것은 SLOG에 의존해야 하는 응용 프로그램의 성능에 영향을 줄 수 있습니다.
기존의 zpool에 SLOG를 추가하는 것은 어렵지 않다. 최상의 실천을 위한 거울 SLOG를 만들려면 아래의 예는 최상의 실천을 따를 것이다.만약 나의 메모리 탱크에 이미 4개의 디스크가 있고 OCZ Revodrive SSD가 2개의 60G 디스크 드라이브를 제공한다면 나는 SSD에 각각 5GB의 구역을 나누어 거울 SLOG를 생성할 것이다.SLOG를 저장소에 추가하는 방법은 GNU parted를 통해 섹션을 만들고 고체 하드디스크를 추가합니다. 이 장치는/dev/disk/by-id/아래에서/dev/sda와/dev/sdb를 가리키며 명령은 다음과 같습니다.
# parted /dev/sda mklabel gpt mkpart primary zfs 0 5G
# parted /dev/sdb mklabel gpt mkpart primary zfs 0 5G
# zpool add tank log mirror \
/dev/disk/by-id/ata-OCZ-REVODRIVE_OCZ-69ZO5475MT43KNTU-part1 \
/dev/disk/by-id/ata-OCZ-REVODRIVE_OCZ-9724MG8BII8G3255-part1
# zpool status
  pool: tank
 state: ONLINE
 scan: scrub repaired 0 in 1h8m with 0 errors on Sun Dec  2 01:08:26 2012
config:

        NAME                          STATE     READ WRITE CKSUM
        pool                            ONLINE       0     0     0
          raidz1-0                       ONLINE       0     0     0
            sdd                         ONLINE       0     0     0
            sde                         ONLINE       0     0     0
            Sdf                         ONLINE       0     0     0
            sdg                         ONLINE       0     0     0
        logs
          mirror-1                       ONLINE       0     0     0
            ata-OCZ-REVODRIVE_OCZ-KNTU-part1  ONLINE       0     0     0
            ata-OCZ-REVODRIVE_OCZ-3255-part1  ONLINE       0     0     0

평균 SLOG 수명
일반적인 SSD를 사용하여 리눅스 서버에 SLOG를 구축할 수 있기 때문에, 우리는 SSD의 마모와 파속에 대한 밀집형 읽기와 쓰기 장면을 모의해야 한다. 물론, 이것은 어느 정도에 서로 다른 SSD 제조업체와 관련이 있지만, 우리는 일반적인 설정을 할 수 있다.
우선, ZFS는 선진적인 손실 균형 알고리즘을 가지고 있으며 이것은 모든 칩에 균형적으로 마모될 것이다.쓰레기 수거 지원만큼 중요한 것은 없으며 TRIM의 지원이 필요 없다는 게 현실이다.ZFS가 마모의 균형을 이룰 수 있는 주요 원인은 파일 시스템을 쓸 때 복사하는 것이다.
그 다음에 각종 드라이브는 서로 다른 나노공예를 통해 제작된다. 나노공예가 작을수록 당신의 SSD 수명은 짧아진다. 예를 들어 Intel320은 25나노미터의 MLC 300GB SSD로 약 5000P/E 주기이다. 만약에 마모균형 알고리즘을 사용한다면 당신의 SSD는 대략 5000배가 될 것이다. 이것은 150만 GB의 기록 데이터 총량 또는 1500TB를 생성할 수 있다. 만약에 나의 ZIL이 3MB/s의 속도를 유지하고 쓸 수 있다고 가정하면약 95TB의 연간 속도로 이 설비의 수명은 약 15년이다.
그러나 Intel335는 20나노미터의 MLC240GB SSD로 약 3000P/E 주기입니다. 이것은 전체 SSD의 3000배를 쓸 수 있다는 것을 의미합니다. 이것은 720TB의 데이터 총량을 생성할 수 있습니다. 만약에 3MB/s의 속도를 사용한다면 이전의 1/2의 수명보다 작고 Intel320은 7년의 수명만 있을 것입니다. 이런 것들을 주의하세요.
지금 만약 당신이 배터리로 전기를 공급하는 D램 드라이브를 사용하고 있다면, 그의 손실 균형은 문제가 되지 않을 것이다. 서버의 DIMMs는 더욱 오래 지속될 것이다.10k+ SAS와 FC 드라이브도 비슷합니다.
용량
간단한 설명으로 말하자면, 너는 너무 큰 ZIL을 필요로 하지 않을 것이다. 예를 들어 나는 4GB의 공간만 가지고 있어, 그는 1M이나 2M의 공간을 거의 차지하지 않는다.나는 나의 모든 가상 기기 관리 프로세스를 시작하고 시스템을 업그레이드하는 동시에 그들에게 많은 일을 하게 했다. ZIL이 가장 높을 때만 100M의 공간을 사용했다. 나는 어떤 작업이 1GB의 공간을 차지해야 하는지 상상할 수 없다. 4GB의 구역은 말할 것도 없고 ZIL 공간의 크기를 볼 수 있는 명령이 있다.
# zpool iostat -v tank
                                           capacity     operations    bandwidth
tank                                      alloc   free   read  write   read  write
------------------------------------------------  -----  -----  -----  -----  -----  -----
tank                                   839G  2.81T     76      0  1.86M      0
  raidz1                                839G  2.81T     73      0  1.81M      0
    sdd                                    -      -     52      0   623K      0
    sde                                    -      -     47      0   620K      0
    sdf                                    -      -     50      0   623K      0
    sdg                                    -      -     47      0   620K      0
logs                                       -      -      -      -      -      -
  mirror                               1.46M  3.72G     20      0   285K      0
    ata-OCZ-REVODRV_OCZ-KNTU-part1      -      -     20      0   285K      0
    ata-OCZ-REVODRV_OCZ-3255-part1       -      -     20      0   285K      0
------------------------------------------------  -----  -----  -----  -----  -----  -----

결론적으로 빠른 SLOG는 낮은 지연을 필요로 하는 응용 프로그램에 매우 높은 효익을 줄 수 있고 시간에 민감한 프로그램, 예를 들어 데이터베이스 등에 매우 적합하다. 그러나 SLOG를 가입하면 일정한 원가를 증가시킬 수 있다. 배터리로 전기를 공급하는 DRAM칩은 매우 비싸다. 보통 2500달러/8GB의 DDR3이고 400GB의 MLC SSD도 100달러가 필요하다. 600GB의 15k SAS는 200달러가 필요하다. 게다가용량은 SLOG에 있어서 정말 문제가 아니라 효율이 문제입니다. 저는 SSD를 사용하여 더욱 빠른 IOPS를 실현할 것입니다(
초당 읽기/쓰기 (입출력) 작업을 수행하는 횟수가 적고, 용량이 비교적 적습니다.그를 상대로 구역을 나누고 드라이브를 공유하지 않으면 안 된다.이것은 위대한 생각입니다. 다음 장에서 L2ARC를 설명하겠습니다.

좋은 웹페이지 즐겨찾기