[27] auto mount, 응급복구, nfs(1)

|


- 2014.12.12




1. auto mount


/etc/fstab : 중요파일, 백업 진행

# cp /etc/fstab /backup/


일반 mount 명령어는 다음과 같다.

# mount /dev/sda1 /mp


이 명령어를 분해해보면 /etc/fstab 안에 있는 내용도 쉽게 이해할 수 있다.



# vi /etc/fstab

     13 UUID=8e73b72d-7801-4d6e-8050-3bd32ca6c0c6 /var                    ext4    defaults        1 2

     14 UUID=1741a394-facf-4255-8708-a2b60775d79c swap                    swap    defaults        0 0


        UUID=8e73b72d-7801-4d6e-8050-3bd32ca6c0c6 : UUID=일련번호

        /var : mount point

        ext4 : 포맷형식

        defaults : 옵션. p107 참조

        0 : 가상메모리. 직접적으로 파일 만들 수 있는지 여부.

                1 : 직접적으로 파일 만들 수 있다.

        2 : 파일시스템 체크에 대한 여부. 부팅 할 순서라고 해도 된다.

                0 : 가상메모리, 1 : 최상위, 2 : 나머지 디렉터리




[복구 실습]


# vi /etc/fstab

여기에 있는 UUID 로 시작하는 내용물 삭제 후 재부팅하면 부팅 안되고 오류 메세지를 출력한다.


Ctrl + Alt + Insert 누르고 VMware 로고 뜨자마자 F2를 눌러 CMOS 메뉴로 들어간다.

(Tip_CMOS 는 ROM에 있으며 메인보드에 ROM이 박혀있다.)


CMOS 메뉴 중 Boot로 이동.

CDROM에 놓고 +를 눌러서 CDROM 을 맨 위로 올린다.

Exit Saving Changes 로 저장 후 종료


CDROM 으로 부팅 되면 3번째인 Rescue installed system을 선택하여 진행한다.

언어 : English

키보드 : us

네트워크 : no

복구모두 시작 : continue

chroot /mnt/sysimage 명령어 기억하기

shell, fakd, reboot 중 shell 선택


그러면 bash 쉘로 쉘 입력 가능하다.

/etc/fstab 내용물 수정 위해 /etc/fstab 보자.


# vi /etc/fstab


하지만 이상하다. cd 부팅에 대한 정보인듯 하다.

아까 메모해둔 명령어를 쳐보자.


# chroot /mnt/sysimage


sh 쉘(복구 전용 쉘)로 변경되었다.


# cp /backup/fstab /etc

(혹은 /backup/fstab 에 있는 내용을 /etc/fstab 으로복사)


재부팅 하려고 하는데 재부팅에 관련된 명령어가 안된다. (sh 쉘은 복구 전용 쉘이기 때문)

다시 bash 쉘로 돌아가자.


# exit




[문제]


automount -> /etc/fstab

ex)

/dev/sda1       /mp     ext4    defaults        1 2


- HDD(1G, IDE) : 100M, 200M, 200M, 300M, 200M

- mount point & users

        100M : Clang & clang1, clang2

        200M : Linux & linux1, linux2

        200M : Ms & ms1, ms2

        300M : Net & na, np

        200M : Anon


각 파티션은 모두 auto mount 설정(반드시 재부팅할것)

모든 설정 완료 후 사용자 생성 후 정상 로그인 되는지 확인




VMware 전원 off한 상태에서 1G Hdd 추가한뒤 전원 on


# fdisk -l

# fdisk /dev/sda


primary partition으로 1~3번 만든 후 4번에는 Extended를, Logical partition을 5~6번에 생성한다.


Command (m for help): n

p

Partition number (1-4): 1

First cylinder (1-130, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +100M


Command (m for help): n

p

Partition number (1-4): 2

First cylinder (14-130, default 14):

Using default value 14

Last cylinder, +cylinders or +size{K,M,G} (14-130, default 130): +200M


Command (m for help): n

p

Partition number (1-4): 3

First cylinder (39-130, default 39):

Using default value 39

Last cylinder, +cylinders or +size{K,M,G} (39-130, default 130): +200M


Command (m for help): n

e

Selected partition 4

First cylinder (64-130, default 64):

Using default value 64

Last cylinder, +cylinders or +size{K,M,G} (64-130, default 130):

Using default value 130


Command (m for help): n

First cylinder (65-130, default 65):

Using default value 65

Last cylinder, +cylinders or +size{K,M,G} (65-130, default 130): +300M


Command (m for help): n

First cylinder (104-130, default 104):

Using default value 104

Last cylinder, +cylinders or +size{K,M,G} (104-130, default 130):

Using default value 130


Command (m for help): p


Command (m for help): w


Mount point가 될 디렉터리 생성, 각각의 파티션 포맷.


# mkdir -p /Clang/home /Linux/home /Ms/home /Net/home /Anon


# mkfs.ext4 /dev/sda1

# mkfs.ext4 /dev/sda2

# mkfs.ext4 /dev/sda3

# mkfs.ext4 /dev/sda5

# mkfs.ext4 /dev/sda6


/etc/fstab 파일을 auto mount를 위해 추가한다.


# vi /etc/fstab

  19 /dev/sda1   /Clang  ext4   defaults   1 2

  20 /dev/sda2   /Linux  ext4   defaults   1 2

  21 /dev/sda3   /Ms     ext4   defaults   1 2

  22 /dev/sda5   /Net    ext4   defaults   1 2

  23 /dev/sda6   /Anon   ext4   defaults   1 2


(Tip - # blkid 명령어를 통해 UUID 명령어를 본 뒤 장치명에 UUID="장치의UUID" 를 넣어도 된다.)


# mount -a

# reboot


# useradd -d /Clang/home/clang1 clang1

# useradd -d /Clang/home/clang2 clang2

# useradd -d /Linux/home/linux1 linux1

# useradd -d /Linux/home/linux2 linux2

# useradd -d /Ms/home/ms1 ms1

# useradd -d /Ms/home/ms2 ms2

# useradd -d /Net/home/na na

# useradd -d /Net/home/np np


# passwd clang1

# passwd clang2

# passwd linux1

# passwd linux2

# passwd ms1

# passwd ms2

# passwd na

# passwd np





[Trouble Shooting]


/etc/fstab에 일련번호가 아닌 장치명으로 썼기 때문에 재부팅 시 부팅이 실패할 수도 있다.

복구모드에서 # chroot /mnt/sysimage 시 readonly로 뜰 때

bash쉘에서 /mnt/sysimage 를 언마운투 후 다시 마운트 하면 readonly가 풀린다.


# df -h

# umount /mnt/sysimage

# mount /dev/sdb7 /mnt/sysimage


다시 # chroot /mnt/sysimage 들어가서 복구 진행.





2. nfs


NFS : Network 를 통해 File System 빌려주는 것

        File system(=partion)

        runlevel 2 : multi user 지원하지만 nfs 지원 안하는 것.

썬 마이크로 시스템즈에서 파일시스템 공유와 서버 자원 공유를 위해 1980년대 후반에 NIS(Network Information Service)와 함께 개발되어졌다.



[장점]


분산되어 있는 데이터를 중앙 집중적으로 관리 가능 : 1개의 파일 서버에서 파일들을 관리할 수 있기 때문

투명성 확보 및 디스크 절약이 가능 : 관리자에 의해 파일이 관리되며, 공간을 쪼개어 사용하기 때문

자료의 일관성과 신뢰성 제공 : 모든 파일을 한 서버에서 관리하기 때문




[실습]


CD 안에 있는 nfs* PKG 설치

=> 실습 환경에는 설치 되어 있음.


CentOS6 오면서 portmap은 기본 설치 되어있음.

=> rpcbind 로 대체됨



구체적인 실습은 다음 시간에 진행.




'Study > CentOS' 카테고리의 다른 글

[29] autofs(2), su - 명령어 제한  (0) 2015.04.04
[28] nfs(2), nfs auto mount, autofs(1)  (0) 2015.04.04
[26] vnc(2), vnc with ssh, ftp  (0) 2015.03.28
[25] vnc(1)  (0) 2015.03.28
[24] openSSH, system-config-firewall, scp, sftp  (0) 2015.03.28
And