/var/www 이동하기 (SD => SSD/HDD) feat.ChatGPT

/var/www 를 외부저장소로 옮기는 방법은?
ChatGPT의 말:

📌 /var/www를 외부 저장소로 옮기는 방법

라즈베리파이에서 /var/www 디렉터리를 **외장 저장소(HDD/SSD/USB)**로 옮기면, SD카드의 공간을 절약할 수 있고 성능도 향상될 수 있어.


🔹 1. 외장 저장소 연결 및 마운트 확인

📌 외장 저장소 확인

먼저, 외장 저장소(USB 드라이브, SSD, HDD)가 인식되었는지 확인해보자.

bash
lsblk
  • 보통 /dev/sda1 또는 /dev/sdb1 등으로 나타남.
  • 정확한 파일 시스템 유형을 확인하려면:
    bash
    sudo blkid

    (출력 결과에서 TYPE="ext4" 또는 TYPE="ntfs" 같은 형식 확인 가능)

📌 마운트 폴더 생성 및 마운트

외장 저장소를 /mnt/www에 마운트하자.

bash
sudo mkdir -p /mnt/www
sudo mount /dev/sda1 /mnt/www

이제 /mnt/www에서 외장 저장소를 사용할 수 있는지 확인해봐.

bash
df -h

🔹 2. /var/www 데이터 이동

이제 기존 /var/www의 데이터를 외장 저장소(/mnt/www)로 옮기자.

bash
sudo systemctl stop apache2 # 웹 서버 중지
sudo systemctl stop nginx # Nginx 사용 시
sudo cp -a /var/www/* /mnt/www/

(모든 파일을 보존하면서 이동)

기존 /var/www 폴더를 백업 후 삭제:

bash
sudo mv /var/www /var/www_backup

🔹 3. 심볼릭 링크 생성

이제 /mnt/www/var/www로 연결하자.

bash
sudo ln -s /mnt/www /var/www

확인:

bash
ls -l /var | grep www

출력이 다음처럼 나오면 정상:

bash
www -> /mnt/www

🔹 4. /etc/fstab에 추가 (재부팅 후 자동 마운트)

라즈베리파이를 재부팅해도 외장 저장소가 자동으로 마운트되도록 설정해야 해.

  1. 외장 저장소의 UUID 확인:

    bash
    sudo blkid | grep /dev/sda1

    (출력 예시)

    pgsql
    /dev/sda1: UUID="1234-ABCD" TYPE="ext4"
  2. /etc/fstab 파일 편집:

    bash
    sudo nano /etc/fstab

    맨 아래에 다음 줄 추가:

    ini
    UUID=1234-ABCD /mnt/www ext4 defaults,nofail 0 2
  3. 변경 사항 적용:

    bash
    sudo mount -a

🔹 5. 웹 서버 재시작 및 확인

bash
sudo systemctl start apache2 # Apache 사용 시
sudo systemctl start nginx # Nginx 사용 시

웹 서버가 정상적으로 작동하는지 확인해보자.

bash
sudo systemctl status apache2
sudo systemctl status nginx

그리고 브라우저에서 웹사이트가 정상 작동하는지 테스트하면 돼! 🎉


🚀 결론

/var/www를 외장 저장소로 옮기는 과정:
1️⃣ 외장 저장소 마운트 (/mnt/www)
2️⃣ 기존 /var/www 데이터를 이동
3️⃣ 심볼릭 링크 생성 (ln -s /mnt/www /var/www)
4️⃣ fstab 설정으로 재부팅 후 자동 마운트
5️⃣ 웹 서버(Apache/Nginx) 재시작 후 테스트

이제 /var/www가 외장 저장소에서 실행되므로 SD카드 공간이 확보되고 속도도 향상될 거야! 🚀
혹시 문제 발생하면 알려줘! 😊

댓글 남기기