저는 docker(Ubuntu LTS)에서 일부 자체 호스팅 애플리케이션을 호스팅하기 위해 홈 서버를 구축하고 있습니다. 애플리케이션의 모든 파일을 사용자의 홈 폴더에 넣어 한 곳에 저장하고 쉽게 백업할 수 있도록 하고 싶습니다. 나는 2개의 홈 폴더를 고려하고 있습니다: /home/user/docker - docker compose 및 모든 docker 볼륨용, /home/user/data - 모든 파일용:
/home/user/
docker/
container1
container2
…
data/
entertainment/
movies
series
music
downloads/
documents/
photos/
personal files/
backups/
laptop_backups/
phone_backups/
집에 있는 노트북과 휴대폰에서 액세스할 수 있도록 data/ 폴더를 Nextcloud에 할당하겠습니다.
나는 500GB SSD, 1TB HDD + 몇 가지 더 작은 크기의 HDD를 가지고 있으며 나중에 더 많은 HDD를 추가할 수 있습니다. 어쩌면 추가 SSD일 수도 있습니다.
스토리지를 LVM으로 분할할 계획입니다.
SSD – 파티션 2개: 100GB 및 400GB HDD – 파티션 1개: 1TB
100GB – “시스템”, 400GB – “SSD”, 1TB – “HDD” 등 3개의 볼륨 그룹을 생성하겠습니다.
다음 설정을 고려하고 있습니다.
VG 100GB "시스템" - /용 LV "시스템"
VG "HDD" – LV "느린 데이터"는 다음 용도로 사용됩니다.
/home/user/data/entertainment /home/user/data/backups /home/user/data/downloads
VG “SSD” – LV “Fast Data”는 다음 용도로 사용됩니다.
/home/user/data/documents /home/user/user/docker
내 질문은: 볼륨 그룹과 논리 볼륨 간에 스토리지를 가장 잘 나누는 방법은 무엇입니까? SSD 공간을 최적으로 사용하면서 향후 디스크 스토리지의 크기를 조정하고 변경할 수 있도록 유연한 설정을 하고 싶습니다.
답변1
이전에도 비슷한 일을 해왔지만 궁극적으로 속도와 사용 목적의 조합에 따라 스토리지를 볼륨 그룹으로 나누는 것은 비생산적이라는 결론을 내렸습니다. 이는 스토리지 사용 방법에 인위적인 제한을 도입하고 스토리지가 발전하는 방식을 고려할 때 이 분류 체계는 오래 지속되지 않습니다. VG에 대용량 SSD를 추가하면 "느린 데이터"가 빨라질 가능성이 높습니다…
모든 시스템 스토리지에 대해 단일 VG를 사용하는 것이 좋습니다. 중요한 LV의 경우 어느 PV에 저장될지 제어합니다(LV가 생성될 때 PV에 충분한 여유 용량이 있는 경우 쉽게 수행할 수 있으며 다른 경우에는 가능). pvmove
. 이는 또한 선택 사항이 완벽하지 않다는 것을 알게 되더라도 쉽게 수정하고 다시 사용할 수 있음을 의미합니다 pvmove
(필요한 경우 LV 크기를 조정할 수 있음).