04. 리눅스(CentOS) 개발 놀이터 만들기 - 대용량 하드디스크 인식시키기

블로그이전(http://cionman.tistory.com/)으로 자료를 옮겨 옵니다.

리눅스 설치를 할 때 128GB SSD 1개와 4TB 그리고 2TB HDD 개가 장착이 되어 있었습니다. 128GB SSD에 OS를 설치 하고 나머지 HDD는 파일 서버로 사용하려고 계획 중이었습니다.

4TB HDD를 fdisk 명령어로 인식을 시키니 2TB 밖에 인식되지 않았습니다. 자료를 찾아 본 결과 …2TB 이상의 경우 parted 명령어를 사용해야 합니다.

1. 파티션 생성

  • 아래 명령어를 사용하게 되면 아래 스크린샷 처럼 내부 명령어를 다시 입력할수 있도록 커맨드창이 변경이 됩니다.

      $ parted /dev/sdb
    

    4-1

  • 스크린샷 처럼 변경이 된 상태에서 help 명령어를 치게되면 내부 명령어 리스트가 나옵니다.

4-2

  • 대표적으로 사용하게될 명령어를 살펴보면..

    • mklabel - 디스크 라벨을 생성
    • mkpart - 파티션 생성
    • unit - 명령어에서 사용할 단위를 설정
    • print - 파티션 생성 결과를 확인 하기 위한 명령어
      mklabel gpt
    
  • mklabel gpt 명령어를 입력하면 아래와 같이 데이터가 모두 잃게 된다는 메세지가 출력됩니다.

4-3

  • print 를 입력 하면
      print
    
  • 아래 스크린 샷 처럼 디스크 정보를 확인 할 수 있습니다.

4-5

  • GB 단위로 단위를 세팅합니다.
      unit GB
    
  • 파티션을 만들기 위해 아래 명령어를 입력하고 다시 print 명령어로 확인을 하면 파티션이 생성되어 있음을 확인할 수 있습니다.
    mkpart primary 0GB 4001GB
    

    4-6

  • ‘q’ 명령어로 parted 커맨드 상태를 빠져나올 수 있습니다.

4-7

  • 위 스크린샷에서는 친절하게 파일 시스템정보(/etc/fstab) 를 업데이트 해야한다는 메세지를 출력합니다. 파일 시스템 정보를 업데이트 하기전에 포맷을 먼저 진행하겠습니다.

2. 포맷

  • 포맷 명령은 아래와 같습니다.
$ mkfs.ext4 /dev/sdb1

4-8

  • 중간에 정보를 입력하는 부분은 그냥 지나가도 무방합니다

3. 마운트(mount) 시키기

  • 장치를 마운트시키기 위하여 장치를 마운트할 위치에 디렉토리를 생성합니다. 저는 /home/hdd1 경로에 생성하도록 하겠습니다.
    $ mkdir /home/hdd1
    
  • 저는 Samba 서버를 통해 파일서버로 사용하려고 하기 때문에 폴더권한을 모두 줍니다.
      $ chmod 777 /home/hdd1
    
  • ls 명령어로 home 디렉토리를 살펴보면 아래 화면이 나옵니다. hdd1 에 모든 권한이 부여되어 있습니다.
    $ ls -al /home
    

    4-9

  • /dev/sdb1 장치를 /home/hdd1위치에 마운트 시키기 위해서 아래의 명령어를 사용합니다.
      $ mount /dev/sdb1 /home/hdd1
    
  • 위의 명령어는 현재 바로 사용하기 위한 명령어이며 재부팅할때마다 자동 마운트 시키기 위해서는 /etc/fstab 파일을 수정해주어야 합니다. 그 전에 하드디스크의 uuid 를 확인하기 위해 blkid 명령어를 입력합니다.
      blkid
    

    4-10

  • /dev/sdb1 의 uuid 를 복사한 후 vi에디터로 /etc/fstab파일을 오픈합니다.

4-11

  • 맨아랫줄에 아래 내용을 추가합니다. UUID 는 blkid 명령어를 통해 획득한 /dev/sdb1 의 uuid 를 입력합니다.
      UUID=98e24d64-97e9-4d1f-9cf3-f8515a2179e0 /home/hdd1 ext4 defaults 0 0
    
  • 위 내용은 각각 6개의 항목으로 이루어지는데 내용은 다음과 같습니다.

    • 첫번째 칸 - 마운트할 장치나 원격 파일 시스템 설정(예 : uuid, /dev/sdb, /dev/cdrom)
    • 두번째 칸 - 마운트할 위치 (예 : /home/hdd1)
    • 세번째 칸 - 파일시스템 종류 (예 : ext2, ext3, ext4, ntfs,fat )
    • 네번째 칸 - 옵션
      • default - rw, nouser, auto, exec, suid 속성을 모두 가짐
      • auto - 부팅시 자동마운트
      • noauto - 부팅시 자동마운트 하지 않음
      • exec - 실행파일이 실행되는 것을 허용함
      • noexec - 실행파일이 실행되는 것을 허용하지 않음
      • ro - 읽기전용
      • rw - 읽기쓰기
      • user - 일반 user마운트 가능
      • nouser- root만 마운트 가능
      • suid - setuid와 setgid를 수정함
    • 다섯째 칸 - dump 설정 (0 - dump명령어로 dump되지 않음 1- dump가능)
    • 여섯째 칸 - 파일 점검 옵션 (0 - 부팅시 실행되는 fsck가 실행되지 않음 1-루트파일시스템 2-루트파일시스템 이외)
  • vi에디터 내용을 저장하고나서 바로 mount 정보를 저장합니다. 그리고 바로 저장한 정보를 마운트하고 제대로 마운트되는지 정보를 확인합니다.

  • mount -a 명령어는 /etc/fstab 에저장된 정보를 모두 마운트 시키는 명령어이고
      $ mount -a 
    
  • df -h 마운트된 정보를 확인할 수있는 명령어 입니다.
    $ df -h 
    
  • mount -a, df -h 명령어를 사용해 반드시 재부팅 하기전에 제대로 정보가 저장되어 있는지 확인 해야만 합니다.
  • 만약에 /etc/fstab 에 잘못된 오류가 있으면 부팅에 실패하게 됩니다.

4-12

  • 정상마운트 됨을 확인 할수 있습니다.

다음으로는 Samba 서버 설정을 해보겠습니다.