반응형

ssd mount  도중나온 error 메세지

mount: /datfs: unknown filesystem type 'ntfs'.

 

ntfs 의 파일시스템 타입이 없다...

당연히 nfs 를 설치를 안하여 나오는 현상이였으나 순간 당황하였다...

 

nfs 를 설치를 하자!!

아래와 같이 설치하면 된다.

# 확인 명령어
rpm -qa | grep nfs

# 결과값이 없을 경우 설치
# 아래 명령어로 설치할수있는 패키지 확인
yum search nfs 

# 그 중에 nfs-utils.x86_64 설치 (nfs-util을 설치하면 된다. 그 뒤는 각자 설정에 따라)
yum install -y nfs-utils.x86_64

이후 mount 시 정상작동 된다!! 

반응형
반응형

esxi 의 경우 다른 물리적인 장비와 nfs 연결 시에 ip가 다르다. 

따라서 /etc/exports 에서 esxi 에서 vm 생성시 고정 ip 가 아닌 외부로 나가는 ip로 nfs가 연결될 때 해당 error 가 난다.

( ※ No route to host 가 날 수도 있는데 이 error 도 똑같이 조치해보자) 

따라서 /etc/exports 부분에 모든 ip에 대해서 허용하던지 아니면 esxi 의 물리적 nic 의 ip를 허용해주던지 해야한다.

# /etc/exports
# 모든 ip에 대해 허용한다.
/test *(rw,no_root_squash,async)

 

위와 같이 esxi 가 아닌 경우에 할 수 있는 조치는 다음과 같다.

1. nfs 재기동

# nfs 재기동
systemctl restart nfs-server
# nfs 상태 확인
systemctl status nfs-server

2. nfs 방화벽 설정 확인

3. nfs 버전 확인

# nfs 버전 확인
cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
# -는 지원 안함. +는 지원함.
# 해당 버전이 client 와 server 모두 동일한 지

4. selinux 설정 확인 

# selinux 설정 해제 방법
# setenforce 0
# sestatus
반응형
반응형

재부팅 시 자동 마운트를 등록하는 /etc/fstab에서 에러를 잡아내었다. 

참고 : studyheon.tistory.com/7

그 이후 생각해보니 재부팅 시 자동 마운트 말고도 해야할 작업들이 있었다. 

따라서 해야할 목록들을 실행시키는 스크립트를 만들고, 그 스크립트를 자동으로 실행시키기 위하여 어디에 등록해놔야하는 지 알아보았다. 

 

부팅 시 정해진 서비스/스크립트 실행

기존 : init 이라는 프로그램이 담당

현재 : systemd 가 담당

CentOS 7버전 부터 systemd가 담당하고 있다고 한다. 그리고 이 systemd가 rc.local을 실행시켜준다. 따라서 rc.local에 등록을 해주면 부팅 시 실행을 시켜준다. 

그렇다면~ 그냥 등록만 하면 되는가?? 아니였다.. 당연히 설정이 필요하다. 굳이 실행할 서비스가 없다면 켜져있을 필요가 없으니 처음에는 꺼져있을 것이다. 

systemctl status rc-local.service 명령어로 확인해본다. 

q 누르면 종료

한번도 설정하지 않았다면 inactive라고 나와있을 것이고, fail 로 나와있을 수도 있다. 

얘가 켜져있어야 rc.local 파일을 읽어서 실행시킬 수 있다. 따라서 활성화 시켜줘야한다. 

 

설정방법

1. chmod +x /etc/rc.d/rc.local 

-> 이것은 rc.local이 이 파일의 소유자든, 같은 그룹의 사람이든, 다른 사람이든 실행시킬수 있게 만드는 것이다. 

 

2. systemctl start rc-local.service

-> rc-local.service를 실행시킨다. 

 

3. sytstemctl status rc-local.service

-> 여기서 상태를 확인한다. 

 

이와 같이 나왔다면 아주 잘 성공한 것이다~

하지만... 

Active : fail이라고 나온다면 아주 절망적일텐데 소중한 경험을 할 수 있겠다~ 라고 생각해야한다 ^^ 

(늘 내 뜻대로 잘 안되지...)

 

여기까지 하고 만약 Active가 떴다면 /etc/rc.d/rc.local에 실행할 스크립트를 적어도 리부팅한 결과 아주 잘 작동한다. 

그러나 다음 부분이 있어서 찾아보니 이 다음 부분은 서비스에 해당하는 부분인 것 같다. 

Active가 아니라 fail이라고 떴어도 다음 부분은 서비스 실행이니 따라하도록 한다.

(급하면 밑에 fail 이후 조치를 보시길... )

 

4. vi /usr/lib/systemd/system/rc-local.service

한 뒤 마지막 라인에

[install]

WantedBy=multi-user.target

부분을 추가한다.  

 

5. systemctl enable rc-local.servcie

재부팅 시에도 활성화 되도록 enable 시켜준다. 

 

6. systemctl list-unit-files | grep rc.local

설정되었는 지 확인한다. 

 

자! 이제 위에서 systemctl status rc-local.service 에서 fail 이라고 나오고 밑 쪽에 

 rc-local.service: control process exited, code=exited status=127

이와 같은 에러가 발생하였다면 참고해주시기 바랍니다.

저는 위와같이 status=127 에러를 발생하였고,

열심히 구글링 해봤지만 이와같은 127번 에러는 찾을 수 없었습니다. 

그러나~ 계속 쳐다보다보니 

rc-local.service: control process exited, code=exited status=127

이 부분 위에 보면 어디가 실행이 안되었다. 혹은 어디에서 에러가 났다고 보여집니다.

확인해보니... /etc/rc.d/rc.local 에서 오타가 났음을 확인하였습니다...

따라서 127에러는 /etc/rc.d/rc.local 에서 오타가 났음을 알려주는 코드였습니다....

제 실력을 너무 믿었군요.. 

혹은 오타가 아니더라도 실행할 파일이 해당 위치에 없다던지 이런 오류이니

/etc/rc.d/rc.local을 잘 확인해보시기 바랍니다. 

 

참고 : conory.com/blog/42241  

 

systemd에서 부팅시 실행할 서비스 관리하기 (CentOS 7)

원래 부팅시 정해진 서비스 또는 스크립트를 실행시키는 건 init (System V Init)라는 프로그램의 몫이였습니다. 유닉스가 처음 생길때부터 그래왔고, 지금도 그렇습니다.(하지만 지금은 다른 아이로

conory.com

참고 : keviny.tistory.com/1

 

CentOS7 에서 Systemd로 서비스 등록하기 (+ systemctl vs. service)

CentOS 7부터는 이전에 사용하던 SysV(init system) 대신하여, systemd 을 system & service manager 로 사용합니다. Systemd is a system and service manager for Linux operating systems. It is designed to..

keviny.tistory.com

실행순서 참고 : coding-chobo.tistory.com/68 

 

부팅시 rc.local 활성화 (부팅시 스크립트 자동 실행)

1. "rc.local" 파일의 실행 권항을 부여하기 위해 아래의 명령어를 입력합니다. # chmod +x /etc/rc.d/rc.local 2. 아래의 명령어로 "rc-local.service"의 상태를 확인합니다. # systemctl status rc-local.servi..

coding-chobo.tistory.com

 

 

반응형
반응형

오늘 맞이한 에러는 bad UNC 와 mount error: could not resolve address for:: Unknown error 이렇게 두가지이다.

 

사실 두가지 모두 같은 에러에 해당하는 것 같다.

두가지 모두 /etc/fstab 에 적용한 뒤에 나타나는 에러이다.

 

이 두 가지 에러를 맞이하게 된 배경은 이렇다.

 

SSD 가 고장나서 교체를 하였는데, 미처 /etc/fstab을 백업하지 못하였고 기억을 더듬어 다시 설정하는 와중에 생긴 에러이다. xfs, ext4, nfs 에서는 나타나지 않았는데, NAS를 연결해놓은 cifs 설정에서만 나오는 에러코드였다.

 

확인해본 결과 맞다고 생각했던 등록방법이 아니였다... 

NAS를 cifs로 마운트 시켰는데, 이 경우 /etc/fstab의 등록방법은 앞에 //를 붙혀주고 :를 중간에 붙힐 필요없이 등록하면된다.

예)

(Client에서 설정)

//192.168.0.7/JHKIM /JHKIM cifs _netdev,user=jhkim,pass=1234,vers=1.0  0 0
1 2 3 4 5 6

1. //연결할IP/연결할디렉토리명 

- Server의 IP와 연결할 디렉토리명 연결해서 쓰면 된다. 

2. 만들어놓은 디렉토리

- Client에 만들 디렉토리명

3. 파일시스템

- cifs, xfs, nfs, ext4

4. 옵션

- 보통 defaults를 사용하지만 cifs의 경우 아이디와 비밀번호가 필요하다. user=아이디,pass=비밀번호 로 사용하면된다. 또한, 해당 버전이 필요하다 없으면  안써도 되지만 저의 경우 vers가 없으면 연결이 안됬습니다.. 따라서 vers없이 작동이 안된다면 vers=1.0 으로 설정 후 확인해보시길 바랍니다..

5. 파일 시스템의 백업 사용여부 

- 그냥 통상 0으로 냅둔다.

6. 검사

- 그냥 통상 0으로 냅둔다.

 

이렇게 설정한 뒤에 재부팅을 하여 확인하면 되지만, 매번 재부팅할 순 없으니... 재부팅 전 마운트가 되는 지 확인해본다. mount -a 명령어를 치면 /etc/fstab을 읽어서 마운트 시킨다. 

명령어를 수행한 뒤 결과가 아무것도 안나오면 성공이다.

df -h, df -k 뭐든 마운트 되었는 지 확인한다. 

 

※ 주의점 

맨 앞에 // 를 붙힌다. 중간에 nfs나 ext의 경우 ":연결할디렉토리명" 이지만 cifs는 "/연결할디렉토리명" 해야한다는 점이였다...

 

참고 : shs2810.tistory.com/57

반응형

+ Recent posts