# 우분투(리눅스) 에서 하드용량이 없다고 나오는 문제(No space left on device)

다음과 같은 문제가 발생하는 경우가 있다.

# touch /tmp/check
touch: cannot touch `/tmp/check': No space left on device

파일을 생성하는 명령을 내렸을때 용량이 없다는 메시지가 나온다.

하드용량을 확인해보면.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       19G  3.0G   15G  17% /
udev            236M  4.0K  236M   1% /dev
tmpfs            98M  180K   98M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            245M     0  245M   0% /run/shm
none            100M     0  100M   0% /run/user

아직 용량은 충분한데 이상하다.

# df -i
Filesystem      Inodes   IUsed IFree IUse% Mounted on
/dev/xvda1     1253376 1253376     0  100% /
udev             60266     385 59881    1% /dev
tmpfs            62675     261 62414    1% /run
none             62675       2 62673    1% /run/lock
none             62675       1 62674    1% /run/shm

none             62675       1 62674    1% /run/user

바로 inode 의 갯수가 꽉 찬것이다.

분명히 어딘가에서 너무 많은 파일이 등록이 되어 있는 것이다.


범인을 찾아라.

# for i in /home/*; do echo $i; find $i |wc -l; done

=> 해당 위치를 찾아라.

# for dir in *; do [ -d "$dir" ] && echo "$dir" && find "$dir" | wc -l; done

둘다 명령은 동일.(디렉토리를 지정하거나 현재디렉토리를 기준)
의심되는 위치를 위 명령으로 해본다.

결과

session
1194823

=> 찾았다 범인.

너무 많은 세션파일이 생성되어 하드 용량이 남았어도 inode 갯수가 꽉 차서 더이상 파일을 생성할 수 없게 된 것이다.

저 파일들을 정리해주면 된다.

파일이 너무 많으니 rm -rf session 등으로 해주는게 좋다.(각자 알아서)

정상.

# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/xvda1     1253376 58729 1194647    5% /
udev             60266   385   59881    1% /dev
tmpfs            62675   261   62414    1% /run
none             62675     2   62673    1% /run/lock
none             62675     1   62674    1% /run/shm
none             62675     1   62674    1% /run/user

 => 이제 정상으로 나온다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

mariaDB 가 여러곳에서 칭찬이 자자하다는 소문이 많다.

한마디로 "써본사람은 압니다. 좋은데 말로 설명할 방법이 없네?" 인것 같다.


그러나 이미 난 MySQL 에 익숙해져 있다. 바꾸면 또 배워야 하는거 아니야? 귀찮아!!
등등 나로 하여금 스스로 옮겨가지 못하게 막고 있었다.

그러다가 써야하는 상황이 생겼다. 그래서 소문이 사실인지 확인해봐야 겠다.



1. 설치 방법

https://downloads.mariadb.org/mariadb/repositories/

에서 각 배포판별로 패키지 설치방법이 잘 나와있다. 이거 한방이면 끝이다.

기초작업

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main'

설치

sudo apt-get update sudo apt-get install mariadb-server


여긴 수동 - /etc/apt/sources.list 파일에 내용을 추가하거나, sources.list.d 디렉토리에 파일로 추가하거나 입맛대로.

# MariaDB 5.5 repository list - created 2013-11-07 11:51 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main deb-src http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main


2. MariaDB 패키지 설치하는데 기존 MySQL 이 설치되어 있으면.

설치 명령을 내리면 다음처럼 나오게 된다.

# apt-get install mariadb-server

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5  mariadb-server-core-5.5 mysql-common

제안하는 패키지:
  tinyca mailx mariadb-test

다음 패키지를 지울 것입니다:
  mysql-client-5.5 mysql-client-core-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5

다음 새 패키지를 설치할 것입니다:
  libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5  mariadb-server-core-5.5

다음 패키지를 업그레이드할 것입니다:
  libmysqlclient18 mysql-common

2개 업그레이드, 7개 새로 설치, 5개 제거 및 3개 업그레이드 안 함.
31.7 M바이트 아카이브를 받아야 합니다.
이 작업 후 17.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]?

위와 같이 패키지를 지울것이라는 무서운 문구.

어떡하지. 무서우면 n 으로 중지. 그러나 우린 용감하잖아요. 과감하게 엔터를 누릅니다.
내 데이터. 또 설정바꿔줘야 하나. ㅠㅠ

그러면 설치하는 화면이 나온다 중간에 기존 mysql 도 지우는 것도 보이고
좀 지나면 mariadb 계정 암호 넣는 화면이 나온다.(mysql 설치할때 나오던 그대로)

그런데, 중간에 좀 이상한 것이 있다.

 * Stopping MariaDB database server mysqld                                                                                   [ OK ]
131108  0:57:51 [Warning] Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
131108  0:57:51 [Note] Plugin 'InnoDB' is disabled.
131108  0:57:51 [Note] Plugin 'FEEDBACK' is disabled.
 * Starting MariaDB database server mysqld                                                                                   [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
어! 뭐지 정상적인건가?


3. 내 데이터. 솨라있네~~
 위까지 하고 다른 설정을 건드리지 않고, 바로 phpMyAdmin 을 살펴봤다.

어. 서버 버전 부분만 mariaDB 로 바뀌고 다른 부분은 똑같다.

신기하다. 너무 똑 같아서.
웹서비스들도 잘 동작한다.(처음에 살짝 느린감이 있었는데, 아마 캐시때문?)

mysql console 도 명령은 동일한것 같다. (아래처럼 바뀌어 있다)

# mysql --version
mysql  Ver 15.1 Distrib 5.5.33a-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1

# mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 115
Server version: 5.5.33a-MariaDB-1~raring-log mariadb.org binary distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>



일단 성능등은 돌려보면서 느껴봐야 겠다.
최소한 설치까지는 정말 쉽게 끝났다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

qmail 의 queue(큐) 를 삭제하는 방법

몇가지 방법이 있다.


/var/qmail/queue 를 통채로 삭제하고 qmail-fix 등으로 디렉토리 구조를 재설정하는 방법.

이건 별로 추천하지 않는다.


가장 좋은 방법은 qmHandle 을 이용.

다운주소 : http://sourceforge.net/projects/qmhandle/  (perl 로 되어 있어 바로 사용가능하다)

몇가지 사용법은

qmHandle -s : 상태

qmHandle -D : 전체삭제

qmHandle -l : 리스트

qmHandle -d번호 : -l 의 리스트에 나온 번호 의 큐 개별 삭제



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

virtualbox 를 쓰다가 보면 용량이 부족한 경우가 생긴다.

가상머신내의 공간이 부족하면 VDI 파일의 크기를 키워서 늘려줄 수 있다.

하드디스크의 크기를 늘린다고 보면 된다.

간단한 명령으로 가능하다.

# VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

기존 20기가를 30기가로 늘리려면

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize 30000

이런식으로 하면 된다. 30*1024 로 계산해도 되고 그냥 30000 도 상관없다.

우분투에서는 사용자 디렉토리에 VirtualBox VMs 폴더안에 가상머신 데이터/설정 등이 저장된다.

여기까지는 VDI 를 늘린것이고, guest OS 에서 이를 인식하게 해줘야 한다.

윈XP 같은 경우 파티션매직 같은 프로그램을 써서 파티션을 늘려주면 된다.
윈도우7 은 디스크관리에서 기본으로 파티션을 늘릴 수 있다.


그런데, resize 를 잘못해서 30G 를 300G 로 해버렸다.
반대로 사이즈를 줄이는 것은 시스템에서 안된다.

0%...

Progress state: VBOX_E_NOT_SUPPORTED

VBoxManage: error: Resize hard disk operation for this format is not implemented yet!



물리적 사이즈를 줄이는 (가상 사이즈는 줄어들지 않음)

VBoxManage modifyhd YOUR_HARD_DISK.vdi compact

도 있다. %주의해야 한다% guest OS 를 defrag 등 정리하지 않으면 부팅이 안되는 수가 있다.


원본 VDI 파일은 꼭 백업해놓은후에 하길바람. 실패하는 수가 있다.


결국, 새로 깔기로 했다. ㅜㅜ


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

ubuntu 12.10 에서 virtualbox 를 vmware player 로 바꾸고 싶을때

virtualbox 가 많이 좋아졌다. 그래서 주로 virtualbox 를 쓰곤 한다.

그런데, 간혹 시스템에 부하를 주는 경우가 있다.

그런경우 vmware (vmware player)를 사용하면 좀 나아진다(퍼포먼스 처리가 좀더 나은 듯 하다)


vmware player 를 설치하고 처음실행하면 커널컴파일을 하게 된다.

linux 헤더와 build-essential 패키지를 설치해야 한다.

apt-get install build-essential linux-headers-`uname -r`


virtualbox 로 설치된 가상머신을 vmware player 에서 돌리고 싶다.


간단하게 글로만 설명(이유는 별로 효과가 없다 - 즉, 실패)

1. virtualbox 에서 export 내보내기 ova 저장

2. vmware player 에서 불러오기

이걸로 끝이다. 작동까지는 되는데, 몇가지 설정확인.

virtualbox guest tool 은 제거하고, vmware tool 을 설치하면 된다.

테스트를 windows 7 으로 해봤는데, 뭔가 좀 이상한 부분이 있다.(win xp 등은 잘 될지도 모르겠다)

퍼포먼스가 잘 안나와서 vmwaer workstation 도 설치해봤다.

중간에 windows 7 이 체험지수 계산할 수 없다는 말도 나오고 (이건 3D 지원이 안되서 그런듯 하다)
실행하면 3D 지원이 안된다고(no 3D support .. host) 나오고.

3D 지원은 .vmx 파일에 한줄 추가해주면 된다.

mks.gl.allowBlacklistedDrivers = "TRUE"

그러면 win7 의 aero 기능도 되고 작동은 한다.
그런데, 쓸 수 없을 정도이다. CPU가 200~300 을 찍어버리니, 쓸 수가 없다.

aero 를 끄고 해야 할 듯 하다. 그래서 그냥 virtualbox 를 쓰기로 함.


그래픽 카드가 내장 intel 칩 인데, 아마도 공식지원을 하지 않는 듯 하다.(nvidia 나 ati 등은 잘될지도 모름)


ps. 작업용으로 가상머신에 xp 를 설치해서 사용하다가 win7 으로 바꿔볼까 했는데, win7 + no aero 로 해보다가 쓸만하면 바꿔봐야 겠다.(aero 버전은 추후 성능이 괜찮아 지면 다시 시도-또는 그래픽카드를 바꾸게 되면)




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,