btrfs를 사용한 파티셔닝 및 subvol 전략


10

나는 btrfs를 처음 사용하고 파티셔닝 및 하위 볼륨 전략에 대한 조언을 원합니다. 시스템은 간단한 웹 서버이며 단일 디스크 만 있다고 가정합니다.

ext 파일 시스템을 사용하여 항상 /, / var, swap (및 / boot 및 / home)에 대해 별도의 파티션을 만들었습니다. 나를 위해 / var에는 항상 모든 귀중한 웹 서버 데이터 (예 : MySQL 데이터베이스)가 포함되어 있으며 코드는 없습니다. 이를 통해 데이터를 다른 시스템으로 쉽게 옮기거나 (이동 또는 복사 / var) 데이터를 다시 방해하지 않고 OS를 다시 설치할 수 있습니다 (재 포맷 /).

btrfs를 사용하여 동일한 작업을 수행하고 동일한 파티션 구성표를 사용하며 각 파티션에 별도의 btrfs 파일 시스템을 가질 수 있습니다. 또는 단일 파티션을 가질 수 있고 /, / var 등에 btrfs 하위 볼륨을 사용할 수 있습니다. 그것의 장단점은 무엇입니까?

예를 들어 ( "모든 데이터를 이전 체크 포인트로 복원"대 "모든 코드 복원"대 "모두 복원")과 같이 / only 및 / var-only 스냅 샷을 만드는 데 이점이있는 것 같습니다. 그게 맞습니까, 아니면 그런 식으로 만 나타 납니까?

보너스 질문 : btrfs 파일 시스템 아래에서 lvm을 사용하면 이점이 있습니까?

보너스 질문 2 : 시스템에 동일한 크기의 디스크가 두 개 있으면 조언이 어떻게 달라 집니까?

"이것이 내가 한 일이며 그것이 어떻게 효과가 있었는지"에 대한 모든 기사도 감사하겠습니다. 내가 할 수있는 일에 대해 많은 자료를 찾을 수 있지만 "이것이 내가 시도한 것이며 이것이 효과가 있었거나 그렇지 않은 이유"라는 말을 많이 찾지 못했습니다.


1
좋은 질문입니다! 나는 거의 같은 것을 묻고 싶었다. raid1 및 luks 암호화를 사용하고 싶지만 기본 사항에 대한 관련 정보를 찾기가 어렵습니다. 예를 들어 단일 복제 볼륨에 op 시스템을 설치할 수 있고 단점없이 / swap 등에 하위 볼륨을 사용할 수 있는지 여부입니다. 어쩌면 나는 매뉴얼을 읽어야하지만 긴 텍스트를 좋아하지는 않습니다. : D
inf3rno

답변:


6

특정 요구 사항이 없으면 다른 파일 시스템을 사용할 때처럼 btrfs를 사용하십시오. / home을 분리하는 것이 좋습니다.

개인적으로 홈 서버에서 유일한 하위 볼륨은 / etc이므로 구성의 스냅 샷을 만들 수 있습니다. snapper와 같은 도구를 사용하여 자동화 할 수 있습니다.

일반적으로 / lib / stuff도 복원해야하기 때문에 이전 버전의 / var 만 복원하는 데 관심이 거의 없습니다. 전혀 또는 전혀없는 상황입니다.

/ home의 스냅 샷은 매우 클 수 있으므로 디스크 크기 관리가 곧 문제가됩니다. 아무 문제없이 할 수 있지만 나머지 공간을 주시하십시오. 또한 스냅 샷은 동일한 디스크에서만 만들 수 있으므로 디스크 장애시 백업 솔루션이 아닙니다. "아,이 파일을 2 시간 전에 삭제했지만 여전히 필요합니다"와 같은 상황에 대한 것으로 생각하십시오.

보너스 1 : 없음 실제로 btrfs는 스택 mdadm + lvm + fs를 단순화하기 위해 설계되었습니다. 따라서 피하는 것이 좋습니다.

보너스 2 : 아니요. 그러나 RAID 1을 만드십시오! 간단하고 효율적인 데이터는 당신을 사랑합니다 :)

닌자 보너스 : 당신은 아마 btrfs 위키를 잘보고 싶을 것 입니다 .


btrfs는 미러링 및 기타 RAID 구성을 지원합니다. RAID6를 재생산하지 않아도 설치 후에 파티션을 추가하기 만하면 미러를 쉽게 만들 수 있습니다. 여기에 좋은 방법을 찾을 수 있습니다 ( complang.tuwien.ac.at/anton/btrfs-raid1.html )
JOduMonT

0

나는 이것을 최근에 다시 방문했으며 하위 볼륨을 포함하는 최상위 디렉토리가있는 하나의 파티션을 제안하는 매우 잘 알려진 게시물을 공유한다고 생각했습니다. https://bbs.archlinux.org/viewtopic.php?id=194491

TL; DR

subvolid=0
      ├── subvol_root
      │        └── /usr, /bin, /sbin, /.snapshots, etc
      ├── subvol_snapshots
      ├── subvol_home
      └── subvol_opt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.