728x90
반응형
이 가이드는 Proxmox에서 NVMe 디스크를 ZFS로 설정하고, NFS를 통해 Ubuntu VM에 마운트하여 Nextcloud와 연동하는 과정을 설명합니다.
1. Proxmox에서 ZFS 풀 및 데이터셋 설정
1.1 NVMe 디스크 확인
Proxmox 호스트에서 NVMe 디스크가 인식되었는지 확인합니다.
lsblk
- 출력에 /dev/nvme0n1이 나타나는지 확인.
- 디스크가 LVM이나 다른 풀에 포함되어 있다면 초기화: sudo wipefs -a /dev/nvme0n1
1.2 ZFS 풀 생성
sudo zpool create -f naspool /dev/nvme0n1
naspool은 사용자 지정 풀 이름입니다.
1.3 ZFS 데이터셋 생성 및 마운트
sudo zfs create naspool/nextcloud
sudo zfs set mountpoint=/mnt/nas naspool/nextcloud
- 마운트 확인: zfs list
- /mnt/nas가 보이지 않으면 강제 마운트: sudo zfs mount naspool/nextcloud
1.4 ZFS 최적화
sudo zfs set compression=lz4 naspool/nextcloud
sudo zfs set recordsize=128k naspool/nextcloud
sudo zfs set atime=off naspool/nextcloud
압축과 레코드 크기를 설정하여 성능 및 저장 효율성을 향상시킵니다.
2. Proxmox에서 NFS 서버 설정
2.1 NFS 서버 설치
sudo apt update
sudo apt install nfs-kernel-server
2.2 NFS 공유 설정
/etc/exports 파일에 공유 설정 추가:
sudo nano /etc/exports
추가:
/mnt/nas 192.168.0.0/24(rw,sync,no_subtree_check)
- 192.168.0.0/24는 VM 네트워크 대역으로, Proxmox 네트워크 설정에 맞게 수정.
- 공유 업데이트: sudo exportfs -ra
2.3 NFS 서비스 및 방화벽
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
sudo ufw allow from 192.168.0.0/24 to any port nfs
NFS 공유 확인: showmount -e localhost
3. Ubuntu VM에서 NFS 마운트
3.1 NFS 클라이언트 설치
sudo apt update
sudo apt install nfs-common
3.2 NFS 마운트
sudo mkdir /mnt/nas
sudo mount <proxmox_ip>:/mnt/nas /mnt/nas
<proxmox_ip>는 Proxmox 호스트 IP 주소.
3.3 영속적 마운트
sudo nano /etc/fstab
추가:
<proxmox_ip>:/mnt/nas /mnt/nas nfs defaults 0 0
마운트 테스트: sudo mount -a
3.4 권한 설정
sudo chown -R www-data:www-data /mnt/nas
sudo chmod -R 750 /mnt/nas
Nginx 사용 시 www-data를 nginx로 변경.
4. Nextcloud와 /mnt/nas 연동
4.1 외부 스토리지 설정 (권장)
- Nextcloud 웹 인터페이스에서 Apps로 이동, External Storage Support 앱 활성화.
- Settings > Administration > External storages로 이동.
- Add storage > Local 선택:
- Folder name: NAS_Storage
- Configuration: /mnt/nas
- Available for: 사용자/그룹 지정
- Permissions: 읽기/쓰기 설정
- 저장 후 파일 탐색기에서 NAS_Storage 테스트.
4.2 데이터 디렉토리 변경 (선택 사항)
sudo systemctl stop apache2 # 또는 nginx
sudo systemctl stop php-fpm
sudo mv /var/www/html/nextcloud/data /mnt/nas/nextcloud-data
sudo chown -R www-data:www-data /mnt/nas/nextcloud-data
sudo chmod -R 750 /mnt/nas/nextcloud-data
sudo nano /var/www/html/nextcloud/config/config.php
datadirectory 수정:
'datadirectory' => '/mnt/nas/nextcloud-data',
서비스 재시작:
sudo systemctl start apache2 # 또는 nginx
sudo systemctl start php-fpm
4.3 데이터 스캔
sudo -u www-data php /var/www/html/nextcloud/occ files:scan --all
5. ZFS 스냅샷 및 백업
5.1 스냅샷 생성
sudo zfs snapshot naspool/nextcloud@snapshot-$(date +%Y%m%d)
5.2 자동 스냅샷
sudo crontab -e
추가:
0 2 * * * zfs snapshot naspool/nextcloud@snapshot-$(date +\%Y\%m\%d)
6. 문제 해결
6.1 Proxmox에서 /mnt/nas 안 보임
- 마운트 확인: zfs get mountpoint naspool/nextcloud
- 강제 마운트: sudo zfs mount naspool/nextcloud
6.2 Ubuntu VM에서 /mnt/nas 안 보임
- NFS 연결 확인: showmount -e <proxmox_ip>
- 로그 확인: sudo journalctl -xe
- 방화벽 확인: sudo ufw status
6.3 Nextcloud 오류
- 권한 확인: ls -l /mnt/nas
- 로그 확인: cat /mnt/nas/nextcloud-data/nextcloud.log
- 설정 복구: sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair
7. 추가 팁
- 성능 최적화: ZFS ARC 캐시 크기 조정 (/etc/modprobe.d/zfs.conf):
- 업데이트: sudo update-initramfs -u
- 보안: Nextcloud 파일 암호화 활성화, NFS IP 제한 적용.
- 모니터링: zpool iostat -v로 ZFS 성능 확인.
반응형
'리눅스 리뷰 > ubuntu' 카테고리의 다른 글
| 우분투에서 NetworkManager 설치 및 이더넷 인터페이스 연동 (0) | 2025.08.19 |
|---|---|
| Nextcloud에서 자가 서명 인증서로 HTTPS 설정하기 (사설 IP 환경) (0) | 2025.05.31 |
| Proxmox에 Ubuntu 경량 설치 가이드 (0) | 2025.05.31 |