include "top.php" ?>
| 시스템 관리 및 실습 #6 |
| 1. mkfs, fsck, mkswap 기능 및 옵션 확인 |
| mkfs : 리눅스 파일 시스템을 만드는 명령어. 한 장치(하드디스크 파티션)을 리눅스 파일 시스템으로 만드는데 사용된다. mkfs -옵션 장치이름 블록 -V : 정보를 자세히 보여준다. -t : 만들어진 파일시스템의 형태를 지정한다. -c : 파일 시스템을 만들기 전에 먼저 불량 블록을 검사한다. -l : 불량 불록 목록을 읽는다. -v : 작업 상태 결과를 자세히 보여준다. fsck : 리눅스 파일 시스템을 점검하고 수리한다. -A : /etc/fstab 에 표시된 모든 파일시스템을 한번씩 점검한다. -R : A와 같이 사용될때 /는 제외된다. -T : 시작할 때 제목을 보여주지 않는다. -N : 실행하지 않고 어떤 작업을 할것인지만 보여준다. -s : fsck의 동작을 시리얼화 한다. -v : 실행하는 각 파일 시스템용 명령을 포함하여 자세한 출력을 수행한다. fdisk : 새로운 하드 디스크 추가. -v : 버전정보를 보여준다. -l : 현재 시스템의 파티션 정보를 나열하여 보여준다. -s : 도스파티션이 아니면 그 파티션의 크가가 출력된다. 명령 : m-help, a-boot partition save, l-show partition passable to supply, p-show partition, n-create partition, d-change the option of partition, q-quit, w-save and quit mkswap : 스왑 파티션을 생성한다. -c : 불량 불록이 있는지 검사한다. |
| 2. 디스크 쿼터 개념 확인 및 설정(그룹 및 사용자별) |
| 디스트 쿼터 : 사용자에게 사용공간을 제한하는 기능이다. # vi /etc/vfstab => 7번 파티션 마운트 옵션 - 대신에 rq 라고 적는다. # cd /export/home => 그럼 QUOTA를 지정할 디렉토리로 이동 # touch quotas => 쿼타의 DB를 저장할 파일을 생성 # chmod 600 quotas => DB파일을 읽고 쓰는 것은 수퍼유저만 할 수 있게끔 변경 # init 6 => 마운트를 적용하기 위해서 리부팅을 한다 (# mount -o remount /export/home => 리부팅을 하지 않고 마운트 적용 ) # mount => 마운트에서 /export/home 파티션에 quota가 설정되었는지 확인 ( 리부팅을 하지않고 적용한 경우 quota가 실행되지 않으면 안보인다. ) # edquota?qtest1 => "qtest1"계정 사용자의 제한 용량을 편집 ( 기본 EDITOR 로 뜬다.) 우리가 쓰기 편한 에디터는?'vi'이므로 'vi'를 사용하게끔 변경 # echo $EDITOR => 현재 기본 에디터가 무엇인지 확인 # export EDITOR=vi => 기본 에디터를 vi로 변경 # echo?$EDITOR => 다시 기본 에디터를 확인( "vi"로 변경되었는지를 확인 ) # edquota qtest1 => 다시 "qtest1"계정 사용자의 제한 용량을 편집 쿼타 항목 : block수, inode수 blocks - 디스크 크기로 사용량을 제한한다. 단위(kbyte) soft : 경고메시지가 출력되는 용량 ( hard용량까지는 사용할 수 있다. ) hard : 사용자가 이용가능한 maximum 용량 inodes - 파일 갯수로 사용량 제한한다. => blocks hard=300으로 설정 ( 실습을 위해 일부러 작은 용량 지정 ) # quotacheck -av => 쿼타 파일을 디스크 사용량, 생성, 체크, 복구를 위해 파일 시스템 검사. "-a" => "all"의 약자로 모두 보겠다는 의미.. "-v" => "verbose"의 약자로 실행 과정을 보겠다는 의미 # quotaon -av => 쿼타를 활성화 ( 위에서 리부팅 안하고 마운트 적용시킨 경우 쿼타 활성화 이후 mount로 확인 ) # repquota -av => 사용자 별로 쿼타 설정을 확인 => telnet을 이용해 접속을 시도 qtest1으로 로그인 $ pwd => 현재 자신의 경로가 어디에 위치하고 있는지 확인 $ ls -hl /var/sadm/install/contents => 대략 7M정도 되는 파일이다. $ cp /var/sadm/install/contents . => 제한이 진짜로 되는지 확인 하기 위해서 자신의 폴더로 복사해 보자. 그럼 디스크 쿼타 용량초과라는 말과 함께 복사가 되지 않는다. $ exit => 텔넷 접속 종료 여러계정에 QUOTA를 지정할 경우 일일이 다 에디트 하기 힘들므로 한계정에 설정한 쿼타 정보를 다른 여러 계정에게 복사 # edquota -p qtest1 qtest2 qtest3 => qtest1 계정의 쿼타 정보를 qtest2와 qtest3 에게 동일하게 적용.. # repquota -av => 동일하게 적용되었는지 확인... # quotaoff -av => 활성화된 쿼타를 사용하지 않으려면 "quotaoff"를 이용해 비활성화 다시 telnet으로 접속해서 qtest1 으로 로그인 $ pwd => 일단 자신의 위치를 확인... $ cp /var/sadm/install/contents . => 아까 실패했던 파일을 복사. 디스크 사용량은 지정이 되어 있지만, 쿼타 기능을 off 시켰으므로 복사가 된다. $ ls -hl => 자신의 디렉토리가 가지고 있는 파일의 용량을 보기 편하게 확인.. $ du -h => 디스크 용량을 확인.. $ /usr/sbin/quota -v => 자신의 QUOTA 용량을 확인..... $ exit |
| 3. LVM 개념 정리 |
| LVM 은 Logical Volume Manager 의 약자로서, 저장장치들을 좀더 효율적이고 유연하게 관리할 수 있는 커널의 부분과 프로그램을 말한다. 처음에는 IBM에서 개발되었는데, 그후에 OSF에서 차용을 하여 OSF/1 operating system에서 쓰였다. 지금은 HP-UX, Digital Unix operating system, AIX 등의 상용 유닉스에서 쓰고 있다. 리눅스 버전은 현재 HP-UX의 것을 모델로 하여 Sistina Software사에서 open source로 개발하고 있다. LVM 을 이해하려면 먼저 Software RAID (Redundant Array of Inexpensive Drives)를 언급해야 하는데, 이 둘은 비슷하면서도 큰 차이가 있다. 비슷한 점은 여러 물리적인 디스크들을 하나의 논리적인 디스크처럼 다룰 수 있게 함으로서 조합방법에 따라 고용량, 고속, 데이터의 무결성을 실현하는 점이다. 하지만 분명하게 다른 점이 있는데. lvm은 raid보다 관리 및 확장이 비교적 쉬운 반면, raid에는 lvm에는 없는 disk mirroring(RAID level 1), Parity Stripe (RAID level 4,5) 등의 방식이 있어서 속도 또는 데이터의 무결성을 보장 받을 수 있다. 그러나 이런 차이점에도 불구하고 lvm가 주목을 받는 이유는 다음과 같습니다. ·쉬운 관리. ·서로 다른 많은 디바이스 조합 지원. ·직관적인 저장 장치로의 접근. ·뛰어난 확장성. ·믿을만한 안전성과 효율. ·스냅샷 기능 지원. 이와 같은 특징들로 인해 사용자들이 얻는 이득은 많다. 우선, pc 급 시스템 사용자들의 가장 큰 고민 중의 하나가 시스템을 처음 설치할 때에 파티션의 구성을 어떻게 할 것인가 일 것이다. 파티션은 한번 구성해 놓으면 바꾸기가 쉽지 않기 때문이다. 또 파티션이 가득 차기라도 하면 어렵게 백업을 하거나 자료를 지워야 할 경우도 심심치 않게 생기기 마련이다. 하지만 LVM를 쓰면 간단하게 저장공간을 확장, 축소 할 수 있기 때문에 그런 고민을 덜 수 있다. 다른 예로, 중소형 서버에서는 비교적 적은 비용으로 대용량 저장 장치를 구현하는 것이 가능해진다. 그리고 백업 없이 기존의 환경을 유지한 채 확장이 가능하기 때문에 유지보수면에서 상당한 이득이 있을 것입니다. |
| 4. 소프트웨어 RAID 개념 정리 |
| RAID(Redundant Array of Inexpensive Disks)는 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술이다. 데이터를 나누는 다양한 방법이 존재하며, 이 방법들을 레벨이라 하는데, 레벨에 따라 저장장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등의 다양한 목적을 만족시킬 수 있다. 최초에 제안되었을 때는 다섯가지의 레벨이 존재했는데, 이후에 중첩 레벨을 비롯한 여러 가지 다른 레벨들이 추가되었다. RAID는 여러 개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 하는데, 하드웨어적인 방법과 소프트웨어적인 방법이 있다. 하드웨어적인 방법은 운영체제에 이 디스크가 하나의 디스크처럼 보이게 한다. 소프트웨어적인 방법은 주로 운영체제 안에서 구현되며, 사용자에게 디스크를 하나의 디스크처럼 보이게 한다. 흔히 쓰이는 레이드 레벨을 빠르게 간추리면 다음과 같다 RAID 0 패리티(오류 검출 기능)가 없는 스트리핑된 세트 (적어도 2 개의 디스크). 개선된 성능에 추가적인 기억 장치를 제공하는 게 장점이지만 실패할 경우 자료의 안전을 보장할 수 없다. 디스크에서 실패가 일어나면 배열을 파괴하게 되는데, 이러한 파괴는 디스크를 많이 장착할수록 가능성이 더 크다. 하나의 단일 디스크 실패는 배열을 완전히 파괴한다. 왜냐하면 데이터가 레이드 0으로 쓰여 질 때, 데이터는 여러 조각으로 나뉘기 때문이다. 조각의 수는 드라이브 안의 디스크 수와 일치한다. 조각들은 각 디스크에 동시적으로 같은 섹터 위에 기록된다. 완전한 데이터 덩어리의 작은 토막들이 병렬로 드라이브를 읽어 낼 수 있게 해 주며, 이러한 종류의 배열은 넓은 대역너비를 제공한다. 그러나 디스크들의 한 섹터가 실패할 때는 모든 다른 디스크 위의 일치하는 섹터가 사용 불능으로 표시 된다. 왜냐하면 데이터의 일부가 손상된 것은 아니기 때문이다. 레이드 0은 오류 검출 기능을 제공하지 않기 때문에 어떠한 오류도 복구하지 못한다. 배열에 디스크를 더 많이 넣으면 더 높은 대역을 사용할 수 있겠지만 데이터 손실의 큰 위험이 도사리게 된다. RAID 1 패리티(오류 검출 기능)가 없는 미러링된 세트 (적어도 2 개의 디스크). 디스크 오류와 단일 디스크 실패에 대비하여 실패 방지 기능이 제공된다. 분할 탐색을 지원하는 다중 스레드를 지원하는 운영 체제를 사용할 때 읽기 성능이 향상된다. 다만, 쓰기를 시도할 때에는 약간의 성능 저하가 뒤따른다. 배열은 적어도 하나의 드라이브가 기능하는 한 계속 동작한다. RAID 3 및 RAID 4 패리티가 단순 제공되는(dedicated) 스트리핑된 세트 (적어도 3 개의 디스크). RAID 5 패리티가 배분되는(distributed) 스트리핑된 세트 (적어도 3 개의 디스크). RAID 6 패리티가 배분되는(distributed) 스트리핑된 세트 (적어도 4 개의 디스크). |
| 맨위로 |
| 1.mkfs, fsck, mkswap 기능 및 옵션 |
| 2.디스크 쿼터 개념 확인 및 설정 |
| 3.LVM 개념 |
| 4.소프트웨어 RAID 개념 |
| 맨아래로 |
| 이동 |