리눅스(우분투) 마운트 관련 질문 드립니다..

김민준@Naver의 이미지

안녕하세요.
리눅스 서버 관리를 맡고 있는데,
구축해 준 서버를 받아 그냥 사용자 계정 추가 및 권한 관리 및
필요한 패키지들 설치 정도만 하고 있어서,
리눅스에 대해 기본적인 개념이 없는 초보입니다..

그런데 /dev/sdb4를 보시면 95%나 차지하고 있어서 용량 문제가 있는 것 같더라구요.

현재 /dev/sda1이 /media/data1에 마운트 되어 있는 것 같아서(가장 큰 용량을 왜 저기에 마운트 해놓았는지도 잘 모르겠습니다.)
저것을 언마운트하고 /에 마운트하여 / 용량을 늘리고 싶은데요.

제가 원하는 작업이
단순히 /dev/sda1을 /media/data1로부터 unmount 명령어로 언마운트하고,
mount 명령어로 /에 마운트하면 단순히 끝나는 작업인지 궁금합니다.

자칫 잘못했다가 서버가 망가지면 어쩌지 싶어서 이렇게 가입한 후 여쭤봅니다..
답변 해주시면 정말 감사하겠습니다, 읽어주셔서 감사합니다.

밑에는 df -h 명령어로 나온 결과입니다.

Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 2.4M 13G 1% /run
/dev/sdb4 845G 758G 45G 95% /
tmpfs 63G 78M 63G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sdb2 2.9G 179M 2.6G 7% /boot
/dev/sdb1 511M 6.7M 505M 2% /boot/efi
/dev/sda1 3.6T 279M 3.4T 1% /media/data1
tmpfs 13G 0 13G 0% /run/user/1000
tmpfs 13G 0 13G 0% /run/user/1016
tmpfs 13G 0 13G 0% /run/user/1015
tmpfs 13G 0 13G 0% /run/user/1005
tmpfs 13G 0 13G 0% /run/user/1008
tmpfs 13G 0 13G 0% /run/user/1001
tmpfs 13G 0 13G 0% /run/user/1014
/dev/loop2 100M 100M 0 100% /snap/core/11167
/dev/loop1 100M 100M 0 100% /snap/core/11187

아래에 lsblk 명령어 결과도 추가합니다.

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 99.4M 1 loop /snap/core/11187
loop2 7:2 0 99.2M 1 loop /snap/core/11167
sda 8:0 0 3.7T 0 disk
└─sda1 8:1 0 3.7T 0 part /media/data1
sdb 8:16 0 894.3G 0 disk
├─sdb1 8:17 0 512M 0 part /boot/efi
├─sdb2 8:18 0 3G 0 part /boot
├─sdb3 8:19 0 32G 0 part [SWAP]
└─sdb4 8:20 0 858.8G 0 part /

** 추가적으로, 리눅스 서버 관리를 위해 추천할만한 책이나 사이트가 혹시 있으시면,
알려주시면 정말 감사하겠습니다!

익명 사용자의 이미지

각각 디스크가 SSD인지 HDD인지는 확인해 보셨나요? 1TB 디스크라면 SSD일 수도 있고 HDD일 수도 있습니다. SSD에 설치되어 있었던 시스템을 용량만 보고 HDD로 이전하려고 한다면 일부 사용자들이 성능 저하를 체감할 수도 있습니다.

김민준@Naver의 이미지

명령어로 확인해보니 말씀해주신대로 sda 디스크는 hdd이고 sdb는 ssd인 것 같습니다.
감사합니다

jick의 이미지

저도 리눅스 서버 관리는 초보입니다만...

루트 아래 /usr, /lib, /etc 등등에 있는 오만 가지 파일들이 정확히 예상한 위치에 예상한 형태로 있지 않으면 시스템이 뻗습니다. 그냥 "아무 파티션"을 root로 마운트하려고 하면... 일단 마운트가 안 될 거고, 혹시라도 되면 시스템이 뻗을 것 같은데요.

김민준@Naver의 이미지

이렇게 여쭤보게 되었습니다. 답변 감사드립니다

세벌의 이미지

서버 구축해 준 분께 물어보시는 게 좋겠습니다. 다른 분들이 주신 답도 참고 하시고요.

김민준@Naver의 이미지

답변 감사드립니다 :)

ymir의 이미지

/ 가 850G 이상 쓰고 있다는 얘기는, db 와 같은 data 디렉토리나, /home 같은 사용자 디렉토리의 사용량이 많기 때문일겁니다.
지속적으로 사용량이 증가할 가능성이 있는 디렉토리는 별도 디스크 슬라이스를 mount 해서 쓰는게 낫습니다.
어차피 / 용량을 늘리더라도, 지금과 같은 상태라면 조만간 같은 고민을 하게 될겁니다.

용량만 보면 1T SSD 에 4T HDD 붙인거 같은 느낌인데, SSD 에는 OS 만 설치하고, HDD 는 data 나 home directory 용으로 쓰는게 적절해 보입니다.
data1 을 안 쓴다면, 그런 디렉토리를 찾아서 data1 으로 옮기고 그걸 새로 mount 해주는게 나을 것 같습니다.
예를 들어 /home/* 을 모두 data1 으로 옮기고, /dev/sda1 를 /home 으로 mount 해주는 식으로요.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

김민준@Naver의 이미지

/home 디렉토리에 관리자 디렉토리 말고 여턔까지 추가했던 사용자 계정 디렉토리들이 많이 있고,
점차 사용자들이 증가함에 따라 포화 상태에 이른 것 같습니다.

또 말씀해주신대로 확인해보니 1TB SSD/4TB HDD 조합이 맞네요.
그럼 제가 해보아야 할 절차가
1. /home 내에 있는 많은 사용자 디렉토리 및 데이터들을 data1로 옮긴다.
2. 다 옮겼다면 /dev/sda1에 옮긴 데이터가 전부 있으므로, 이것을 /home에 mount한다.
이렇게 이해했는데 맞을까요?
추가적으로 사용자들이 ssh 접속으로 본인 디렉토리 접속되는데,
이렇게 진행후에 별도로 제가 해야 할 일은 없을까요?

문제가 생길까 걱정이 되긴하지만.. 해봐야겠네요.
답변 정말 감사드립니다 :)

ymir의 이미지

넵.. mount 만 되면 기존 경로는 모두 그대로 올라오기 때문에, 딱히 더 해야 할 일은 없을 겁니다.
그냥 사용자로 로그인 되는지만 한 번 체크해 보면 될 듯 합니다.

그리고 그 전에 먼저, 정말로 /home/* 을 옮겨야 하는게 맞는지, 디렉토리별 사용량을 확인해 보세요.
sudo du -sk /* 와 같은 명령으로 최상위 디렉토리부터 사용량을 체크해 보면 됩니다.

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

김민준@Naver의 이미지

진심으로 답변 감사드립니다 :)

chanik의 이미지

제가 작업용으로 쓰는 리눅스 서버에서 처음엔 1TB HDD에 루트파티션을 두고 OS와 데이터 저장 겸용으로 쓰다가 시간이 지남에 따라 용량이 꽉 차서 2TB로 바꾸고, 나중엔 그것도 꽉 차서 안 되겠다 싶어서 4TB 디스크를 따로 달고 데이터를 분리 저장해서 해결했습니다. 지금은 8TB 디스크로 바꾼 상태이고요. 이것도 꽉 차면 더 큰 HDD를 사거나 RAID로 해결해야겠죠.

이렇게 OS와 데이터를 분리해두면 루트파티션이 꽉 차는 문제를 걱정하지 않아도 된다는 장점과 함께, 데이터 저장용 디스크에 뭔가 작업을 할때 재부팅없이 라이브 상태에서 할 수도 있다는 장점이 있습니다.

OS와 데이터를 분리하기 전에는 디스크 교체할 때 sysresccd같은 관리용 리눅스로 CD/USB 등 별도 미디어로 부팅해서, 부팅용 HDD를 dd 등으로 통째로 새 디스크로 복제한 다음 g_parted 같은 툴로 파티션 크기 조정하고 grub 다시 심는 식으로 했습니다. 데이터 디스크만 상대하는 것보다는 좀 번거롭기도 하고 최소 몇 시간의 다운타임도 피할 수 없었죠.

위의 다른 분들 의견처럼 데이터를 정리/재배치하셔야 할 상황이네요.

김민준@Naver의 이미지

현재 상황은 1TB SSD에 OS 및 서버 사용자들의 데이터가 다 여기에 있어서 포화 상태에 온 것 같습니다.

제가 처음 받았을 때, sudo 권한을 갖는 관리자 계정의 데이터까지만 SSD에 있었는데,
제가 사용자 계정을 점차 추가함에 따라 여기에 데이터도 많아지고 이에 따라 포화 상태가 온 것 같습니다..

제가 워낙 초보라 OS/데이터 분리를 위해 말씀해주신 방법이 잘 이해가 가지 않아서..
혹시 사용자 데이터(디렉토리)를 4TB의 HDD로 모두 옮기고(mv 명령어),
사용자들이 ssh 접속했을 때 HDD쪽으로 접속되게 바꾸는 방식으로도 해결이 될까요?

답변 감사드립니다.

chanik의 이미지

제 경우는 특정 사용자의 홈디렉토리 아래에 모든 데이터가 몰려있는 상태였습니다. 이를테면 datauser라는 사용자가 있다고 할 때, /home/datauser 아래에 데이터가 다 있었죠.

새로 하드디스크(/dev/sdb)를 사서 달고 /dev/sdb1 파티션 하나로 통째로 볼륨과 파일시스템을 만든 뒤에 대략 아래와 같은 식으로 했습니다.

# cd /home
# mkdir datauser.new
# mount /dev/sdb1 datauser.new
# rsync -av datauser/ datauser.new/
# umount datauser.new
# mv datauser datauser.orig
# mv datauser.new datauser
# mount /dev/sdb1 datauser

(/etc/fstab도 sdb1이 /home/datauser 로 마운트되도록 수정)

그냥 새 볼륨에 사본을 떠 넣고, 원본 디렉토리 이름에 .orig를 붙여 보관해둔 다음, 새 볼륨을 원본디렉토리 위치로 마운트한 것 뿐이죠. 이대로 별 이상 없는지 한동안 운영해보고, datauser.orig는 나중에 지웠습니다.

지금은 /home 디렉토리에 대해 이와 비슷하게 하시면 되지 않을까요?

sudo 사용자들은 남기고 일반사용자들만 다른 볼륨으로 옮기려면 usermod 같은 명령 써서 일반 사용자의 홈디렉토리를 옮기시면 될 것 같은데 저도 정확히는 모르겠네요.

김민준@Naver의 이미지

정말 감사드립니다. 시도해보아야겠네요! 다시한번 감사합니다 :)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.