LABORATORY

검색 :
RSS 구독 : 글 / 댓글 / 트랙백 / 글+트랙백

lpic16일차

2011/02/11 21:46, 글쓴이 Prime's

 LVM과 RAID에 대해서

 

셧다운 명령어

shutdown -h 0

shutdown -h now

init 0

poweroff

 


  1. LVM과 RAID란?

    • LVM과 RAID는 똑같다 : 다수의 하드 디스크를 하나로 묶어 사용하는 기술
    •  실무에서는 IDE는 쓰지 않는다 : vmware로 구성할때 sda형태로 1기가짜리 7개를 만든다.
  2. LVM(Logical Volume Manager)
    • 여러 하드디스크를 합쳐서 하나의 파일시스템처럼 사용하는 방법
    • 작은 용량의 디스크 여러개를 하나의 하드 디스크처럼 사용할수 있게 하는 방법
    • 대용량의 별도 저장공간이 필요할때 사용한다.
    • 디스크 크기가 달라도 상관없다.
    •  용어

      • Physical Volume : /dev/hda1, /dev/sda1 등의 물리적인 디스크 볼륨을 말한다.
      • Volume Group : Physical Volume를 합쳐 하나의 물리적인 그룹을 만드는 것을 말한다.
      • Logical Volume : Volume Group를 나누어 하나의 논리적 그룹으로 나누는 것을 말한다.
    • VMWARE에서 지원하는 스냅샷을 만들어 놓자!!!
    • LVM구현

      • LVM을 구현하기 위해서 SCSI 하드 디스크를 사용하고 싶은만큼 장착한다.
      • 연습용으로 각 1기가짜리 디스크를 7개를 추가하였다.
      • fisk /dev/sda ~ /dev/sdc 까지 모두 sda1 ~ sdc1 의 파티션으로 만들고 LVM(8e)로 선언해 준다.

        •  fdisk로 들어가서 파티션을 만든 후, t를 눌러서  파티션 ID를 바꾼다..
        • 이후에 L을 누르면 리스트가 나온다. 거기서 골라서 하면 된다. 연습용이므로, 8e(LVM)을 쓴다
      • pvcreate 명령어를 사용하여 각각의 디스크에 대한 physical volume을 생셩해 준다.

        •  pvcreate/dev/dsa1
        • pvcreate /dev/sdb1
        • pvcreate /dev/sdc1
      • 생성한 3개의 physical volume을 하나의 볼륨으로 묶는다.

        • vgcreate [볼륨이름] [장비1, 장비2, 장비3...]
        •  vgcreate zombie /dev/sda1 /dev/sdb1 /dev/sdc1
      •  Volume Group zombie가 3기가로 설정되어 있음을 확인하려면 다음과 같은 명령어를 입력

        • vgdisplay
      • CentOS에서 사용하는 일반적인 디스크이 파티션 생성을 위해서는 fdisk를 사용하지만, Volume Group의 파티션을 생성할 때는 lvcreate 명령을 사용한다.

        •  lvcreate -L 2.98G -n zombie1 zombie
        • 설명 : lvcreate -L [파티션크기] -n [파티션이름] [Volume Group name]
        • 이런식으로 여러개로 나누면 되지만, LVM을 쓰면서 다시 나누는짓은 LVM을 쓰는 목적에 부합된다.
      • 위와같이 만든 후에, 쓰는 목적에 따라 알아서 포멧한다. -> 우리는 mkfs로 한다.
      • 그리고 나서 mount를 한다.
      • 많이 쓰지는 않는다.(이유는, 하나가 날라가면 죄다 날라가기 때문에)
      • 장비는 /dev/[volume group]/[volume name]에 링크되어 있다. 실제 장비는 /dev/mapper/~ 있다.
    • 예제 : 4개의 디스크를 LVM하여 부팅후에도 항상 그 자리에 mount 되도록 /etc/fstab에서 정의하시오.
    • 삭제

      •  umount
      • Logical volume 삭제 : lvremove [device]
      •  옵션 -f 는 강제사항이다.
      •  physical volume 삭제 : pvremove -ff [device] -> 여러개일테니까 여러개 해야한다. ff는 반드시 들어가야한다.
      • 확인 : pvdisplay, lvdisplay
      • 이후 fdisk로 파티션 삭제
  3. RAID

    • Redundant Array of Indexpensive Disk
    • 디스크 크기가 전부 같아야만 한다.
    • 여러 디스크를 하나의 디스크처럼 사용함으로써 비용을 절감하고 성능을 향상시키기 위한 저장 장치를 의미
    • hardware RAID와 software RAID로 나눌 수 있다.
    • hardware RAID

      • 하드웨어 RAID는 하드웨어 제조업체에서 여러 하드디스크를 이용하여 장비를 만들고그 자체를 공급하는 것.
      • 소프트웨어 RAID에 비해 좀 더 안정적이며, 제조업체에서 기술지원(A/S)을 받을 수 있으므로 대형 서버에서 선호
      • 단점은 가격이 너무 비싸다.
    • software RAID

      •  고가의 하드웨어 RAID에 대한 대안으로, 하드 디스크만 있으면 운영체제에서 지원하는 방식으로 RAID를 구성할 수 있는 방법.
      • 하드웨어 RAID에 비해서 신뢰성(안정성)이나 속도가 떨어질 수 있지만, 저럼한 비용으로 좀 더 안전한 데이터의 저장이 가능하다.
    • RAID LEVEL

      • 구성 방식에 따라 0, 1,2,3,4,5까지 6개로 분류된다.
      • 실무에서는 주로 RAID 0m, 1, 5 그리고 RAID5의 변형인 RAID 5+1, 6 그리고 RAID 0+1, RAID10 등이 사용된다.
    • LVM은 2개이상의 하드 디스크를 1개의 volume으로 사용하며, 앞 하드 디스크에 데이터가 모두 저장된 후에 다음 디스크에 데이터가 저장되는 방식이다.
    •  설명

      •  raid0

        • 두개의 하드에 자료를 나누어서 저장한다.
        • 하나의 데이터를 나누어서 저장하기 때문에 하나의 하드가 날라가면 다른 하드에 남아있는 데이터는 완전하지가 않다.
        • 디스크 사용에 대한 효율은 좋아지지만, 안정성은 조금 떨어진다..
        • 전체 하드 디스크를 쓸수 있다.. ex) 400+400 = 800
        •  
        • 데이터를 순차적으로 하나씩 나누어져 있는 디스크에 따로 저장하게 된다.
        • 속도면에서 가장 서능이 뛰어나다고 할 수 있으며, 디스크의 갯수만큼 용량을 모두 사용하므로 공간 효율이 뛰어나다
        • 하지만 디스크 하나라도 고장나면 전체 데이터가 소실된다.
        • 빠른 성능을 요고하되, 잃어버려도 큰 문제가 없는 자료들을 저장하는데 적당한 방식
      •  raid1

        • 두개의 하드를 쓰지만, 하나의 하드에 저장한 다음에 다른 하드에 같은 내용을 저장한다. : mirroring
        • 사용 효율은 떨어지지만 안정성은 좋다.
        • 2개 이상의 하드디스크 미러링은 raid5를 쓴다.

          raid1.JPG 

        • 즉, RAID1 방식에서 1024 MB를 저장하기 위해서는 2048MB의 용량이 필요하다
        • 두배의 저장공간이 필요하기 때문에 두배의 용량이 필요하므로 효율적인 측면에서는 RAID 0에 비해 현저히 떨어진다.
        • 속도면에서 두개의 디스크에 같은 데이터를 동시에 저장하므로, 데이터 저장시의 시간 손실은 없다고 말할 수 있다.
      • 비교 : raid0 & raid1

        • 성능(속도) : 빠름 | 변화없음
        • 결함 허용 : 허용함 | 허용안함
        • 공간 효율 : 좋음 | 나쁨
      •  raid 5

        • 최소 3개 이상의 하드 디스크가 있어야 구성할 수 있지만, 일반적으로 5개 이상으로 구성한다.
        • 오류가 발생했을 때 parity를 이용하여 데이터를 복구할수 있다는 장점이 있다. : 가장 마지막 하드 하나를 parity저장용으로 쓴다.
      • raid 6

        • 많은 디스크를 RAID로 구성할 때 디스크 2개가 고장나면 복구가 불가능 하다
        • 이에, 여러개의 디스크로 RAID5를 구성할 때 신뢰성을 높이기 위해서 RAID 6 방식을 사용할 수 있다.
        • 하지만 RAID6는 parity를 2개 생성해야 하므로 wirte(쓰기) 알고리즘이 복잡해져 성능이 RAID5보다는 떨어지게 된다.
      • RAID 0 + 1

        • RAID 0 으로 구성한 데이터를 RAID 1 하는 방식 (Stripping -> mirroring)
        • 신뢰도는 RAID 5와 같다고 할수 있지만, 비용이 2배가 들기 때문에 좋은 방법은 아니다.
      • RAID 10(1+0)

        •  RAID 1 한 데이터를 RAID 0하는 방식 (morroring -> stripping)
        • RAID 0 + 1과 마찬가지라고 할 수 있지만, 안정성과 속도 면에서 0 + 1보다 더 좋다

RAID설치

 

  1. 설치준비

    • 설치를 위해 먼저 SCS 하드 디스크를 7개 준비, 시스템에 적용(1G * 7)
    • VMware의 설정창에서 하드디스크 7개가 실행되는지 확인.(실제 장비는 실행되는것을 확인)
    • dev에 sda ~ sdg 까지 디스크를 확인한다.
    • RAID를 구성하기 위한 패키지로 'mdada"를 사용한다. : 레드헷 리눅스에서는 raidtools라는 패키지를 사용한다. 시스템에 mdadm이 설치 되어 있는지를 확인한다.

      • rpm -qa | grep mdadm
      • mdadm 1.7이하는 RAID10 구성 불가.
      • 되도록 최신 버전으로 업그레이드 하는 것이 좋다.
  2. RAID 0 설치

    • fdisk /dev/sda 명령으로 /dev/sda1파티션 생성. 여기서 파일 시스템의 유형을 fd(Linux Raid Auto)로 선택하고 저장 후 종료한다.
    • 논리 디바이스를 직접 가져다 쓴다 : 리눅스에서 원래 구성해놓은것이 하나 있다. : /dev/md0
    • 필요하면 다시 생성한다.
    • ls -l /dev/md? 명령으로 /dev/md0장치가 있는지 확인하고, 없다면 명령으로 추가한다.

      • mknod /dev/md0 b 9 0        : 논리디바이스를 만드는것. md0 논리디바이스
      • b는 Block Device를, 9는 md장치의 주 번호가 9번임을, 0은 0번째 장치임을 의미한다.
      • 9번은 md 자체의 구성넘버이다..
      • md0의 0과, 9 0의 0은 항상 같다.
    • 설치명령어 : mdadm

      • mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sda1 /dev/sdb1

        • mdadm [md0으로 만들되] [raid0이고] [2개 하드를 묶는다. 그 하드들은 이어서 나온다.]
      •  mdadm --detail --scan : 확인용 명령어. 이 명령으로 해서 디바이스가 제대로 나온다면, 포멧후, 마운트해서 사용할 수 있다.

        •  mkfs.ext3 -c /dev/md0 : /dev/md0 파티션을 ext3으로 포멧한다.
      • 마운트 이후 df명령으로 정상 설치되어 있는지 확인한다.
      • fstab에 기록해 놓으면 dev/md0에 추가하면 된다.
    • 예제 :  sda와 sdb, sdc와 sdd를 raid0으로 구성, 각각 /raid0_1, raid0_2 에 항상 mount되도록 설정.

 

 

이 글은 스프링노트에서 작성되었습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2011/02/11 21:46 2011/02/11 21:46

맨 위로