배경
한 시스템에서 XFS 파일 시스템 이미지를 생성한 다음 해당 이미지를 다른 시스템에서 사용하는 시스템이 있습니다. 현재 둘 다 CentOS7(각각 7.9 및 7.8)을 사용합니다. 이것은 안정적으로 작동합니다.
하지만 CentOS를 완전히 없애려는 노력의 일환으로 점차 RHEL(및/또는 Alma Linux)로 전환하고 있습니다.
전환 기간 동안 "생산자" 시스템은 RHEL로 마이그레이션되지만 "소비자"는 아직 변경할 수 없습니다.
질문
CentOS7 시스템에 XFS 파일 시스템(RHEL9에 의해 생성됨)을 순진하게 마운트하려고 하면 다음 오류 메시지가 나타납니다.
root@localhost updateFs]# mount -o loop ./fs.img /tmp/fs2/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
[root@localhost updateFs]# dmesg -H | tail -4
[May 5 14:25] XFS (loop0): Superblock has unknown read-only compatible features (0x4) enabled.
[ +0.010671] XFS (loop0): Attempted to mount read-only compatible filesystem read-write.
[ +0.000006] XFS (loop0): Filesystem can only be safely mounted read only.
[ +0.000580] XFS (loop0): SB validate failed with error -22.
읽기 전용으로 마운트하려고 하면 괜찮아 보입니다. 하지만 쓸 수 있어야 해요.
파일 시스템을 보다 호환되는 버전으로 "다운그레이드"하기 위해 양쪽에서 할 수 있는 작업이 있습니까?
버전
체계 | 분포 | 핵심 | xfsprogs |
---|---|---|---|
발전기 | RHEL9.1 | 5.14.0-162.2.1-el9 | 5.14.2-1.el9.x86_64 |
소비자 | CentOS7.8 | 3.10.0-1127.el7 | 4.5.0-20.el7.x86_64 |
답변1
이는 재링크 기능 플래그인 것으로 보이며 이러한 파일 시스템은 이(IMHO, 매우 유용한) 파일 시스템 기능보다 이전에 나온 커널에서만 읽기 전용으로 마운트할 수 있다는 것이 합리적입니다.
파일 시스템을 생성할 때 이 기능을 사용한 후 비활성화할 수 있는 도구는 없습니다. 새 파일 시스템을 생성하고 이전 파일 시스템의 내용을 복사해야 합니다.
mkfs.xfs -m reflink=0 -f yourfilesystemimage