다른 파티션과 혼합된 단일 파티션의 ZFS

다른 파티션과 혼합된 단일 파티션의 ZFS

저는 의료기기 공급업체에 근무하고 있습니다. 단일 머신에는 SquashFS(OS 파일용, 2개의 OS 파티션, 읽기 전용 squashfs), 일부 부팅 파티션(3x FAT32) 및 DATA 파티션(120Gb, rw, ext4)으로 구성된 몇 개의 파티션이 있습니다.

문제는 병원에서 사용되는 장치이기 때문에 때때로 장치의 플러그를 뽑는 경우가 있고 어떤 경우에는 DATA 파티션의 데이터 손상과 연결된 것으로 보이는 임의의 문제가 발생한다는 것입니다. 문제는 의료 소프트웨어가 많은 내용을 기록하기 때문에 때때로 쓰기가 발생하고 기계가 강제 종료되어 인접한 파일이 다소 손상되는 것 같습니다.

어쨌든 데이터 파티션의 ext4를 ZFS와 같은 쓰기 시 복사 FS로 변경하면 도움이 될 것이라고 생각했습니다. 하지만 한 가지 점은... ZFS에서는 전체 디스크가 ZFS(zpool)여야 하는지, 아니면 ZFS 파티션이 다른 FS를 사용하는 다른 파티션과 동일한 디스크에 공존할 수 있는지입니다.

감사해요!

답변1

전체 디스크를 ZFS로 포맷할 필요는 없습니다. zpool은 전체 디스크와 파티션의 모든 조합으로 구축할 수 있습니다.

ZFS 멤버를 동일한 디스크의 다른 파티션과 공유하는 경우 I/O(입/출력) 성능도 공유된다는 점을 명심해야 합니다.

가장 간단한 구성에서는 파티션이나 장치인 하나의 vdev로 구성된 zpool을 가질 수 있습니다. 내 컴퓨터는 다음과 같이 포맷되어 있습니다.

root@craptop [~]# zpool status -P
  pool: rpool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:30 with 0 errors on Sun Nov 14 00:24:31 2021
config:

        NAME                                                                 STATE     READ WRITE CKSUM
        rpool                                                                ONLINE       0     0     0
          /dev/disk/by-id/ata-LITEONIT_LSS-24L6G_S45N8470Z1ZNDW089292-part4  ONLINE       0     0     0

errors: No known data errors

ZFS 구성원은 다음의 파티션입니다 /dev/sda.

root@craptop [~]# blkid /dev/sda4
/dev/sda4: LABEL="rpool" UUID="3735190874680832032" UUID_SUB="15024274719792138025" TYPE="zfs_member" PARTUUID="a9a5ae01-90cd-4945-a9dd-fbccbfbfc075"
root@craptop [~]# lsblk -p
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0  22.4G  0 disk 
├─/dev/sda1   8:1    0  1000K  0 part 
├─/dev/sda2   8:2    0   512M  0 part /boot/efi
├─/dev/sda3   8:3    0     1G  0 part /boot
└─/dev/sda4   8:4    0  20.9G  0 part 
/dev/sdb      8:16   0 931.5G  0 disk 
├─/dev/sdb1   8:17   0  1000M  0 part 
├─/dev/sdb2   8:18   0   260M  0 part 
├─/dev/sdb3   8:19   0  1000M  0 part 
├─/dev/sdb4   8:20   0   128M  0 part 
├─/dev/sdb5   8:21   0   884G  0 part 
├─/dev/sdb6   8:22   0  25.2G  0 part 
└─/dev/sdb7   8:23   0    20G  0 part 
/dev/sdc      8:32   1  58.6G  0 disk 
└─/dev/sdc1   8:33   1    58G  0 part

중복 또는 패리티 vdev(미러, raidz, raidz2, droid 등)가 없으면 ZFS는 자동 데이터 손상을 감지할 수 있지만 데이터의 유일한 복사본이 잘못되었기 때문에 이를 수정할 수 없습니다.

하나 이상의 중복 vdev를 사용하여 zpool을 생성하는 것을 고려해야 합니다.

여기 내 컴퓨터 중 하나가 더 있습니다.RAID 1미러라고 알려진 동등한 vdev:

root@box1 [~]# zpool status -P
  pool: fastpool
 state: ONLINE
  scan: scrub repaired 0B in 00:04:39 with 0 errors on Sun Nov 14 00:28:40 2021
config:

        NAME                STATE     READ WRITE CKSUM
        fastpool            ONLINE       0     0     0
          mirror-0          ONLINE       0     0     0
            /dev/nvme0n1p3  ONLINE       0     0     0
            /dev/nvme1n1p3  ONLINE       0     0     0

errors: No known data errors

  pool: slowpool
 state: ONLINE
  scan: scrub repaired 0B in 05:45:50 with 0 errors on Sun Nov 14 06:09:52 2021
config:

        NAME              STATE     READ WRITE CKSUM
        slowpool          ONLINE       0     0     0
          mirror-0        ONLINE       0     0     0
            /dev/sda1     ONLINE       0     0     0
            /dev/sdb1     ONLINE       0     0     0
        logs
          /dev/nvme0n1p5  ONLINE       0     0     0
          /dev/nvme1n1p5  ONLINE       0     0     0
        cache
          /dev/nvme0n1p4  ONLINE       0     0     0
          /dev/nvme1n1p4  ONLINE       0     0     0

errors: No known data errors

시작하기

추가 독서

관련 정보