SLES 10(현재는 EOL이 오래 지났음)의 클러스터에서 10년 넘게 실행되고 있는 시스템이 몇 개 있습니다. CentOS 6 64비트로 마이그레이션하는 중입니다. 모든 작업을 완료했지만 최종 데이터가 동기화되었습니다. 그리고 놀랍게도 디스크 공간이 부족했습니다. 원시 용량이 아닌 inode 테이블에 있다는 점만 빼면요. ReiserFS(SLES 상자에서 사용 중)는 제한을 적용하지 않았습니다. 실제로 제한을 적용하지 않을 뿐만 아니라 추적/보고하지도 않기 때문에 사용 중인 inode의 수조차 모릅니다. 한 줄로 그 번호를 얻을 수 있습니다. 문제 없습니다.
내 문제는 아마도 LVM과 관련이 있을 것입니다. 그게 내 약점이야. 저는 1993년부터 원시 장치를 주로 사용해왔기 때문에 실제로 이 기능을 처음 사용했습니다.
내가 가지고 있는 것은 스왑 파티션과 루트 파일 시스템을 두 개의 볼륨으로 포함하는 논리 볼륨 그룹이 있는 새 시스템입니다. 무려 100GB이지만 650만 개가 훨씬 넘는 inode가 필요합니다. 약 640만 개가 부족했습니다.
나는 inode 수를 전혀 늘릴 수 없기 때문에 완전히 새로운 ext4 파일 시스템을 만들어야 한다는 것을 충분히 이해합니다.
저는 VMWare에서 일하고 있는데 도움이 됩니다. 필요에 따라 간단히 가상 드라이브를 추가/제거할 수 있습니다.
기본적으로 루트 파일 시스템을 우리 용도에 더 나은 inode 비율을 가진 파일 시스템으로 교체하고 싶습니다. 내가 확신할 수 없는 것은 이것의 LVM 부분을 처리하는 방법과 실제 "파일 시스템[즉, inode 테이블을 보유하는 부분 등]을 복원하지 않고 데이터를 복원하는 것입니다. 기본적으로 데이터를 예비 가상 드라이브에 저장하고 필요에 따라 루트 파티션을 다시 포맷한 다음 드라이브를 복원합니다. LVM은 지식 측면에서 어느 정도 익숙해졌습니다. 백업 및 복원, 특히 전체 파일 시스템(모두 /에 상주하는 하나의 파일 시스템이므로 /dev 등을 포함함)을 처리하는 데 어떤 도구를 올바르게 사용해야 하는지에 대한 세부적인 설명을 사용할 수 있습니다. LVM 교체.
명령 등을 작성하는 데 도움이 된다면 vg_webserver4c6을 논리 볼륨 그룹으로, lv_root 및 lv_swap을 논리 볼륨 이름으로 가정합니다. lv_root가 문제의 자식입니다.
어떤 도움이라도 대단히 감사하겠습니다. 더 자세할수록 좋습니다!
감사해요!
답변1
전체 파일 시스템을 백업하려면 tar 또는 rsync에 사용하십시오. /dev/, /proc 또는 /sys를 포함할 필요가 없습니다. 이들은 부팅 시 생성됩니다.
lv_root의 크기를 조정할 필요가 없으므로 lv 명령을 사용할 필요가 없습니다. 천만 개의 inode가 있는 파일 시스템을 다시 생성하기만 하면 됩니다.
mkfs.ext4 -N 10000000 /
tar 또는 rsync를 사용하여 파일을 복원하십시오.
부트 로더를 수정하세요(grub-install을 다시 실행하세요)
그게 다야.