CentOS 7 파일서버 작업로그 (Samba, ZFS)
0. 설치옵션 : 파일서버 (모두체크)
1. 네트워크 IP 설정
1.1 이더넷 장치 확인
ls -la /etc/sysconfig/network-scripts/ifcfg*
1.2 고정IP 설정
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
BOOTPROTO="none" ONBOOT="yes" # IP Address IPADDR = "192.168.0.5" # Subnet Mask NETMASK = "255.255.255.0" # Default Gateway GATEWAY = "192.168.0.1" # DNS Server DNS1 = "192.168.0.1" |
2. ZFS 설치
https://github.com/zfsonlinux/zfs/wiki/RHEL-%26-CentOS
2.1 ZFS 저장소 설치파일 내려받기
wget http://download.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm
2.2 ZFS 저장소 설치
sudo yum install http://download.zfsonlinux.org/epel/zfs-release$(rpm -E %dist).noarch.rpm
2.3 ZFS 저장소 지문 등록
gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
2.4 ZFS 저장소 커널모듈 옵션 사용으로 설정
sudo /etc/yum.repos.d/zfs.repo
dkms enabled=1 kmod enabled=1 |
2.5 ZFS 설치
sudo yum install zfs
2.6 커널모듈 설치 (DKMS)
sudo yum install kernel-devel zfs
2.7 모듈 로드
sudo /sbin/modprobe zfs
2.8 ZFS 풀 생성
sudo zpool create haebinas /dev/sda3
[주의] 풀 생성 후 다시 이 명령어 입력하면 기존 풀이 다 날아가므로 주의! 주의!!
2.9 ZFS의 풀에 파일시스템을 생성
zfs create haebinas/data
3. Samba 설정
3.1 Samba공유를 위한 폴더 생성
cd /haebinas/data
mkdir haebi
3.2 권한 설정
chown -R haebi:haebi haebi/
3.3 Samba 환경설정
기존파일 백업
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
설정파일 에 경로 설정
sudo vim /etc/samba/smb.conf
workgroup = WORKGROUP dos charset = CP949 display charset = UTF8 unix charset = UTF8 [haebinas] path = /haebinas/data writable = yes valid users = haebi |
3.4 Samba 사용자 등록
sudo smbpasswd -a haebi
3.5 서비스 허용
sudo systemctl enable smb
sudo systemctl enable nmb
3.6 서비스 재시작
sudo systemctl restart smb
sudo systemctl restart nmb
3.7 방화벽 설정
sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload
3.8 SELinux Samba 허용
chcon -t samba_share_t /haebinas/data
chcon -t samba_share_t /haebinas/data/haebi
4. 부팅시 자동으로 서비스 올라오도록 설정
4.1 자동실행을 위한 rc.local 활성화
sudo chmod +x /etc/rc.d/rc.local
4.2 ZFS 커널모듈 로드 및 생성한 풀 등록 (create 대신 import 사용을 눈여겨 본다!)
sudo vim /etc/rc.local
/sbin/modprobe zfs
zpool import haebinas
참고1 - Samba 방화벽 설정 예
Chain IN_public_allow (1 references) pkts bytes target prot opt in out source destination 35 3234 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:137 ctstate NEW 13 2971 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:138 ctstate NEW 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139 ctstate NEW 1 52 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445 ctstate NEW |