DRBD + Pacemaker + SSHFS on CentOS 7 #3 – SSHFS

SSHFS 구성

 

서버 설정
Master / Slave 모두 적용
// 공유대상 사용자 : webuser
// 공유대상 디렉토리 : /data/shared

1. 사용자생성

[root@10-19-10-196 /]# useradd -m -d /data/shared -r -s /sbin/nologin webuser
[root@10-19-10-196 /]# mkdir -p /data/shared/.ssh
[root@10-19-10-196 /]# chmod 700 /data/shared/.ssh
[root@10-19-10-196 /]# chown webuser.webuser /data/shared/.ssh

 

2. sshd_config 설정수정
: vi /etc/ssh/sshd_config

// 이 부분을 찾아서
Subsystem sftp /usr/lib/openssh/sftp-server
// 이렇게 변경
Subsystem sftp internal-sftp

// 아래줄에 아래 내용 추가
Match User webuser
    AuthorizedKeysFile /data/shared/.ssh/authorized_keys
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

 

3. sshd 재시작

[root@10-19-10-196 /]# systemctl restart sshd

 


Master만 적용
1. 공유대상 루트 디렉토리 생성 및 권한 설정

[root@10-19-10-196 /]# mkdir -p /data/shared
[root@10-19-10-196 /]# chown root. /data/shared/

 

2. 공유대상 디렉토리 생성 및 권한 설정

[root@10-19-10-196 /]# mkdir -p /data/shared/umount.net
[root@10-19-10-196 /]# chown webuser. /data/shared/umount.net/

 


클라이언트 설정
// 공유 디렉토리 사용자 : webuser
// 공유 디렉토리 : /data/www/share-dir

1. 사용자 생성

[root@10-19-10-190 /]# useradd webuser

 

2. ssh-key 생성

[root@10-19-10-190 /]# su - webuser
[webuser@10-19-10-190 ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/webuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/webuser/.ssh/id_rsa.
Your public key has been saved in /home/webuser/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Qgr8A0ZhJiQwj94T1BJgIwujm+WCDiQim78y2C/99A8 webuser@10-19-10-190
The key's randomart image is:
+---[RSA 2048]----+
|@=*+o |
|*%o. . |
|B.B.. . |
|BO.+.o |
|O..o+ . S |
|oo .. . |
|.o.. . E |
|+ o... . . |
| o.o... ... |
+----[SHA256]-----+

 

3. 생성된 id_rsa.pub 를 SSHFS서버(Master)의 /data/shared/.ssh/authorized_keys 로 복사
(방법은 자유롭게 편한대로)

 

4. 서버에 복사한 /data/shared/.ssh/authorized_keys 파일 권한 수정

[root@10-19-10-196 /]# chmod 600 /data/shared/.ssh/authorized_keys
[root@10-19-10-196 /]# chown webuser.webuser /data/shared/.ssh/authorized_keys

 

5. 클라이언트에서 서버에 비밀번호 없이 접속되는지 테스트 필수
// IP는 pcs에서 설정한 VIP 입력

[root@10-19-10-190 /]# sftp webuser@10.19.10.195

 

6. 공유 디렉토리 생성 및 권한 설정

[root@10-19-10-190 /]# mkdir -p /data/www/share-dir
[root@10-19-10-190 /]# chown webuser. /data/www/share-dir

 

7. sshfs 마운트 실행
// IP는 pcs에서 설정한 VIP 입력

[root@10-19-10-190 /]# yum install -y sshfs
[root@10-19-10-190 /]# sshfs webuser@10.19.10.195:/umount.net/ /data/www/share-dir/

 

8. 마운트 확인

[root@10-19-10-190 /]# df -h
Filesystem                               Size  Used Avail Use% Mounted on
devtmpfs                                 1.9G     0  1.9G   0% /dev
tmpfs                                    1.9G     0  1.9G   0% /dev/shm
tmpfs                                    1.9G   18M  1.9G   1% /run
tmpfs                                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root                  7.0G  2.8G  4.2G  40% /
/dev/sda1                               1014M  272M  743M  27% /boot
webuser@10.19.10.195:/umount.net          50G   33M   50G   0% /data/www/share-dir

 

TIP 1. fstab 마운트 예제

webuser@10.19.10.195:webuser@10.19.10.195:/umount.net/ /data/www/share-dir/ fuse.sshfs defaults,_netdev,delay_connect 0 0

 

// 장애조치
// pcs에서 장애조치가 되어 VIP가 변경되면 클라이언트에서는 마운트 해제 상태가 된다.
// 여러가지 방법이 있겠지만 이를 방지하기 위해 간단한 방법으로 crontab을 이용할 수 있다.

[root@10-19-10-190 /]# crontab -e
* * * * * "mount -a"

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x