<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nas운영 보관 - 하우인포-IT·테크</title>
	<atom:link href="https://howinfo.kr/tag/nas%ec%9a%b4%ec%98%81/feed/" rel="self" type="application/rss+xml" />
	<link>https://howinfo.kr/tag/nas운영/</link>
	<description>IT·AI 자동화 &#38; 인프라 전문 블로그 (하우인포)</description>
	<lastBuildDate>Sat, 21 Feb 2026 02:00:10 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://howinfo.kr/wp-content/uploads/2026/02/cropped-ChatGPT-Image-2026년-2월-12일-오후-05_39_40-32x32.png</url>
	<title>nas운영 보관 - 하우인포-IT·테크</title>
	<link>https://howinfo.kr/tag/nas운영/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>서버 “용량 부족” 알림 + 자동 정리까지 한 번에 구축하기</title>
		<link>https://howinfo.kr/%eb%94%94%ec%8a%a4%ed%81%ac-%ec%9a%a9%eb%9f%89-%ec%9e%90%eb%8f%99-%ec%a0%95%eb%a6%ac-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0/</link>
					<comments>https://howinfo.kr/%eb%94%94%ec%8a%a4%ed%81%ac-%ec%9a%a9%eb%9f%89-%ec%9e%90%eb%8f%99-%ec%a0%95%eb%a6%ac-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0/#respond</comments>
		
		<dc:creator><![CDATA[hong]]></dc:creator>
		<pubDate>Sun, 15 Feb 2026 16:17:44 +0000</pubDate>
				<category><![CDATA[서버·인프라]]></category>
		<category><![CDATA[crontab 자동화]]></category>
		<category><![CDATA[it자동화]]></category>
		<category><![CDATA[nas운영]]></category>
		<category><![CDATA[디스크용량부족]]></category>
		<category><![CDATA[로그정리]]></category>
		<category><![CDATA[리눅스자동정리]]></category>
		<category><![CDATA[서버운영]]></category>
		<guid isPermaLink="false">https://howinfo.kr/?p=1697</guid>

					<description><![CDATA[<p>0️⃣ 상단 요약 5줄 1️⃣ 문제 상황 (실제 운영에서 가장 흔한 케이스) 디스크가 100% 가까워지면 이런 일이 벌어집니다. 특히 무서운...</p>
<p>게시물 <a href="https://howinfo.kr/%eb%94%94%ec%8a%a4%ed%81%ac-%ec%9a%a9%eb%9f%89-%ec%9e%90%eb%8f%99-%ec%a0%95%eb%a6%ac-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0/">서버 “용량 부족” 알림 + 자동 정리까지 한 번에 구축하기</a>이 <a href="https://howinfo.kr">하우인포-IT·테크</a>에 처음 등장했습니다.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">0️⃣ 상단 요약 5줄</h2>



<ul class="wp-block-list">
<li>서버 장애의 은근한 1순위는 디스크 용량 부족입니다.</li>



<li>로그, 캐시, 오래된 백업, Docker 잔여 데이터가 단골 원인입니다.</li>



<li>임계치 초과 시 자동 정리 + 로그 기록 구조가 안전합니다.</li>



<li>삭제 전/후 용량 비교를 반드시 남겨야 합니다.</li>



<li>필요하면 시놀로지 챗/슬랙 알림까지 확장 가능합니다.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1️⃣ 문제 상황 (실제 운영에서 가장 흔한 케이스)</h2>



<p>디스크가 100% 가까워지면 이런 일이 벌어집니다.</p>



<ul class="wp-block-list">
<li>워드프레스 업로드 실패</li>



<li>DB 쓰기 오류 → 서비스 중단</li>



<li>로그 기록 중단 → 원인 추적 불가</li>



<li>Docker 컨테이너 갑자기 종료</li>



<li>MySQL InnoDB write error</li>
</ul>



<p>특히 무서운 건:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>디스크 95% → 느려짐<br>100% → 바로 장애</p>
</blockquote>



<p>CPU 문제보다 더 갑작스럽습니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2️⃣ 내 환경 (예시)</h2>



<ul class="wp-block-list">
<li>Ubuntu 22.04</li>



<li>Docker 사용</li>



<li>워드프레스 + MariaDB</li>



<li>/ 파티션 단일 구조</li>



<li>정기 백업 폴더 존재</li>
</ul>



<p>※ 파티션이 분리되어 있으면 TARGET_MOUNT를 조정해야 합니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3️⃣ 1차 가설</h2>



<p>느려질 때 CPU를 의심하지만,<br>top을 보면 CPU는 널널하고 wa(iowait)가 증가하는 경우가 많습니다.</p>



<p>확인 루틴:</p>



<pre class="wp-block-preformatted">df -h</pre>



<p>90% 이상이면 거의 확실히 원인 후보입니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4️⃣ 자동 정리 전략 (안전하게)</h2>



<p>❌ 무조건 삭제<br>❌ rm -rf 기반 강제 정리</p>



<p>실무에서 안전한 방식은 다음과 같습니다.</p>



<ol class="wp-block-list">
<li>디스크 사용량 확인</li>



<li>임계치(예: 80%) 초과 시에만 실행</li>



<li>삭제 목록 로그 기록</li>



<li>정리 후 사용량 재확인</li>



<li>로그 파일 유지</li>
</ol>



<p>핵심은:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“정리했더니 얼마나 줄었는지” 기록하는 것</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5️⃣ 자동 정리 스크립트</h2>



<p>파일 생성:</p>



<pre class="wp-block-preformatted">sudo nano /usr/local/bin/disk_cleanup.sh</pre>



<p>아래 내용 붙여넣기:</p>



<pre class="wp-block-preformatted">#!/bin/bash<br>set -eTARGET_MOUNT="/"<br>THRESHOLD=80LOG_DIR="/var/log/howinfo"<br>LOG_FILE="${LOG_DIR}/disk_cleanup.log"DAYS_LOG=14<br>DAYS_TMP=7<br>DAYS_BACKUP=30BACKUP_DIR="/backup/daily"mkdir -p "$LOG_DIR"log() {<br>  echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"<br>}usage_percent() {<br>  df -P "$TARGET_MOUNT" | awk 'NR==2 {gsub("%","",$5); print $5}'<br>}log "=== 디스크 정리 시작 ==="<br>BEFORE=$(usage_percent)<br>log "정리 전 사용량: ${BEFORE}% (기준: ${THRESHOLD}%)"if [ "$BEFORE" -lt "$THRESHOLD" ]; then<br>  log "임계치 미만 → 정리하지 않음"<br>  log "=== 종료 ==="<br>  exit 0<br>filog "임계치 초과 → 정리 실행"if command -v apt-get &gt;/dev/null 2&gt;&amp;1; then<br>  apt-get -y autoclean || true<br>  apt-get -y clean || true<br>fiif command -v journalctl &gt;/dev/null 2&gt;&amp;1; then<br>  journalctl --vacuum-time=7d || true<br>fifind /var/log -type f -name "*.gz" -mtime +"$DAYS_LOG" -print -delete | tee -a "$LOG_FILE" || true<br>find /tmp -type f -mtime +"$DAYS_TMP" -print -delete | tee -a "$LOG_FILE" || trueif command -v docker &gt;/dev/null 2&gt;&amp;1; then<br>  docker system prune -f || true<br>  docker volume prune -f || true<br>fiif [ -d "$BACKUP_DIR" ]; then<br>  find "$BACKUP_DIR" -type f -mtime +"$DAYS_BACKUP" -print -delete | tee -a "$LOG_FILE" || true<br>fiAFTER=$(usage_percent)<br>log "정리 후 사용량: ${AFTER}%"<br>log "=== 디스크 정리 완료 ==="</pre>



<p>권한 부여:</p>



<pre class="wp-block-preformatted">sudo chmod +x /usr/local/bin/disk_cleanup.sh</pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6️⃣ 수동 테스트 (반드시 먼저)</h2>



<pre class="wp-block-preformatted">sudo /usr/local/bin/disk_cleanup.sh</pre>



<p>로그 확인:</p>



<pre class="wp-block-preformatted">tail -n 50 /var/log/howinfo/disk_cleanup.log</pre>



<p>삭제 내역과 전/후 % 확인이 핵심입니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7️⃣ 자동 실행 (crontab)</h2>



<pre class="wp-block-preformatted">sudo crontab -e</pre>



<p>추가:</p>



<pre class="wp-block-preformatted">0 3 * * * /usr/local/bin/disk_cleanup.sh</pre>



<p>→ 매일 새벽 3시 검사</p>



<p>임계치 미만이면 아무 작업도 하지 않습니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8️⃣ 더 안전하게 쓰는 방법</h2>



<h3 class="wp-block-heading">1️⃣ 드라이런 모드</h3>



<p>삭제 대신 목록만 보기:</p>



<pre class="wp-block-preformatted">find /var/log -type f -name "*.gz" -mtime +14 -print</pre>



<h3 class="wp-block-heading">2️⃣ 임계치 조정</h3>



<pre class="wp-block-preformatted">THRESHOLD=90</pre>



<p>너무 자주 돌면 올려도 됩니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">9️⃣ 재발 방지 구조 (진짜 중요)</h2>



<p>자동 정리만으로 끝나면 안 됩니다.</p>



<p>✔ 디스크 80% 이상 알림 설정<br>✔ Docker 로그 max-size 설정<br>✔ 백업 보관 정책 명확화<br>✔ 업로드 디렉토리 주기 점검<br>✔ DB 용량 성장 추적</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">🔟 장애 사례에서 배운 교훈</h2>



<ul class="wp-block-list">
<li>디스크는 95%부터 체감 저하 시작</li>



<li>100% 되면 장애가 아니라 “즉시 중단”</li>



<li>자동 정리는 “응급조치”</li>



<li>근본 원인은 로그 폭증/백업 정책 부재</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">체크리스트</h2>



<ul class="wp-block-list">
<li>수동 실행 테스트 완료</li>



<li>로그 생성 확인</li>



<li>임계치 설정 확인</li>



<li>crontab 등록 완료</li>



<li>다음날 자동 실행 로그 확인</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">확장 (선택)</h2>



<p>원하면 아래도 추가 가능합니다.</p>



<ul class="wp-block-list">
<li>사용량 85% 이상 시 시놀로지 챗 알림</li>



<li>Slack Webhook 연동</li>



<li>n8n으로 모니터링 + 자동 조치</li>



<li>특정 파티션 개별 감시</li>
</ul>



<p></p>
<p>게시물 <a href="https://howinfo.kr/%eb%94%94%ec%8a%a4%ed%81%ac-%ec%9a%a9%eb%9f%89-%ec%9e%90%eb%8f%99-%ec%a0%95%eb%a6%ac-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0/">서버 “용량 부족” 알림 + 자동 정리까지 한 번에 구축하기</a>이 <a href="https://howinfo.kr">하우인포-IT·테크</a>에 처음 등장했습니다.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://howinfo.kr/%eb%94%94%ec%8a%a4%ed%81%ac-%ec%9a%a9%eb%9f%89-%ec%9e%90%eb%8f%99-%ec%a0%95%eb%a6%ac-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%a7%8c%eb%93%a4%ea%b8%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker 기초 실습 가이드</title>
		<link>https://howinfo.kr/docker-%ea%b8%b0%ec%b4%88-%ec%8b%a4%ec%8a%b5-%ea%b0%80%ec%9d%b4%eb%93%9c/</link>
					<comments>https://howinfo.kr/docker-%ea%b8%b0%ec%b4%88-%ec%8b%a4%ec%8a%b5-%ea%b0%80%ec%9d%b4%eb%93%9c/#respond</comments>
		
		<dc:creator><![CDATA[hong]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 13:18:39 +0000</pubDate>
				<category><![CDATA[IT기초]]></category>
		<category><![CDATA[ai자동화]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker설치]]></category>
		<category><![CDATA[nas운영]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[리눅스서버]]></category>
		<category><![CDATA[서버구축]]></category>
		<category><![CDATA[서버운영]]></category>
		<category><![CDATA[서버자동화]]></category>
		<category><![CDATA[자동화기ㅗ]]></category>
		<category><![CDATA[컨테이너기술]]></category>
		<category><![CDATA[컨테이너실습]]></category>
		<category><![CDATA[홈서버]]></category>
		<guid isPermaLink="false">https://howinfo.kr/?p=1614</guid>

					<description><![CDATA[<p>리눅스 서버 위에 나만의 컨테이너 환경 만들기 Linux 명령어에 익숙해졌다면, 이제 한 단계 올라갈 차례입니다.요즘 서버 운영, AI, 자동화, NAS...</p>
<p>게시물 <a href="https://howinfo.kr/docker-%ea%b8%b0%ec%b4%88-%ec%8b%a4%ec%8a%b5-%ea%b0%80%ec%9d%b4%eb%93%9c/">Docker 기초 실습 가이드</a>이 <a href="https://howinfo.kr">하우인포-IT·테크</a>에 처음 등장했습니다.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">리눅스 서버 위에 나만의 컨테이너 환경 만들기</h2>



<p>Linux 명령어에 익숙해졌다면, 이제 한 단계 올라갈 차례입니다.<br>요즘 서버 운영, AI, 자동화, NAS 환경에서 빠지지 않는 기술이 바로 <strong>Docker</strong>입니다.</p>



<p>Docker를 이해하면:</p>



<p>✔ 서버 세팅이 빨라지고<br>✔ 환경 충돌이 사라지고<br>✔ 자동화 구성이 쉬워지고<br>✔ 이식성이 극대화됩니다</p>



<p>이번 글에서는 <strong>직접 설치 → 실행 → 컨테이너 운영까지 실습</strong>해봅니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">1️⃣ Docker란 무엇인가?</h1>



<p>Docker는 <strong>컨테이너 기반 가상화 플랫폼</strong>입니다.</p>



<p>기존 가상머신(VM)은 OS를 통째로 올리지만,<br>Docker는 필요한 실행 환경만 분리해서 올립니다.</p>



<p>👉 가볍고 빠릅니다<br>👉 서버 운영에 최적화되어 있습니다</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">2️⃣ Docker 설치 실습 (Ubuntu 기준)</h1>



<h2 class="wp-block-heading">📌 1단계: 패키지 업데이트</h2>



<pre class="wp-block-code"><code>sudo apt update
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 2단계: Docker 설치</h2>



<pre class="wp-block-code"><code>sudo apt install docker.io -y
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 3단계: Docker 실행 확인</h2>



<pre class="wp-block-code"><code>docker --version
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 4단계: Docker 서비스 활성화</h2>



<pre class="wp-block-code"><code>sudo systemctl enable docker
sudo systemctl start docker
</code></pre>



<p>상태 확인:</p>



<pre class="wp-block-code"><code>sudo systemctl status docker
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">3️⃣ 첫 번째 컨테이너 실행해보기</h1>



<h2 class="wp-block-heading">📌 Hello World 실행</h2>



<pre class="wp-block-code"><code>sudo docker run hello-world
</code></pre>



<p>정상이라면 테스트 메시지가 출력됩니다.</p>



<p>👉 이 순간 Docker 엔진이 동작한 것입니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">4️⃣ Nginx 웹서버 컨테이너 실행 실습</h1>



<h2 class="wp-block-heading">📌 Nginx 실행</h2>



<pre class="wp-block-code"><code>sudo docker run -d -p 8080:80 nginx
</code></pre>



<p>설명:</p>



<ul class="wp-block-list">
<li><code>-d</code> : 백그라운드 실행</li>



<li><code>-p 8080:80</code> : 포트 연결</li>



<li><code>nginx</code> : 이미지 이름</li>
</ul>



<p>브라우저에서 접속:</p>



<pre class="wp-block-code"><code>http:&#47;&#47;서버IP:8080
</code></pre>



<p>👉 웹서버가 바로 실행됩니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">5️⃣ 컨테이너 관리하기</h1>



<h2 class="wp-block-heading">📌 실행 중 컨테이너 확인</h2>



<pre class="wp-block-code"><code>docker ps
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 전체 컨테이너 보기</h2>



<pre class="wp-block-code"><code>docker ps -a
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 컨테이너 중지</h2>



<pre class="wp-block-code"><code>docker stop 컨테이너ID
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 컨테이너 삭제</h2>



<pre class="wp-block-code"><code>docker rm 컨테이너ID
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">6️⃣ Docker 이미지 관리</h1>



<h2 class="wp-block-heading">📌 이미지 목록 확인</h2>



<pre class="wp-block-code"><code>docker images
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📌 이미지 삭제</h2>



<pre class="wp-block-code"><code>docker rmi 이미지ID
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">7️⃣ 실제 운영 감각 익히기 (중요)</h1>



<p>Docker는 단순 실행이 목적이 아닙니다.</p>



<p>운영에서 중요한 개념:</p>



<h3 class="wp-block-heading">🔹 포트 매핑</h3>



<p>외부포트:내부포트</p>



<pre class="wp-block-code"><code>-p 3000:3000
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">🔹 볼륨 연결 (데이터 보존)</h3>



<pre class="wp-block-code"><code>docker run -d -p 8080:80 -v /home/data:/usr/share/nginx/html nginx
</code></pre>



<p>👉 컨테이너 삭제해도 데이터 유지</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">🔹 재부팅 시 자동 실행</h3>



<pre class="wp-block-code"><code>docker run -d --restart=always nginx
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">8️⃣ Docker Compose 기초 (실무 핵심)</h1>



<p>Docker를 여러 개 운영하면 <code>docker-compose</code>가 필요합니다.</p>



<p>설치:</p>



<pre class="wp-block-code"><code>sudo apt install docker-compose -y
</code></pre>



<p>예시 <code>docker-compose.yml</code></p>



<pre class="wp-block-code"><code>version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
</code></pre>



<p>실행:</p>



<pre class="wp-block-code"><code>docker-compose up -d
</code></pre>



<p>👉 실무에서는 거의 이 방식으로 운영합니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">📌 Docker를 배우면 생기는 변화</h1>



<p>✔ 서버 세팅 시간이 획기적으로 단축<br>✔ 개발/운영 환경 동일화<br>✔ 자동화 구성 쉬워짐<br>✔ NAS 활용도 상승<br>✔ AI 모델 배포 쉬워짐</p>



<p>Docker는 이제 선택이 아니라 기본입니다.</p>



<p></p>
<p>게시물 <a href="https://howinfo.kr/docker-%ea%b8%b0%ec%b4%88-%ec%8b%a4%ec%8a%b5-%ea%b0%80%ec%9d%b4%eb%93%9c/">Docker 기초 실습 가이드</a>이 <a href="https://howinfo.kr">하우인포-IT·테크</a>에 처음 등장했습니다.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://howinfo.kr/docker-%ea%b8%b0%ec%b4%88-%ec%8b%a4%ec%8a%b5-%ea%b0%80%ec%9d%b4%eb%93%9c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
