CentOS7 firewalls and NFS conf steps

RHEL/CentOS7 이 발표 되면서, 기존 6버젼대에서 사용하던 많은 명령어들에 변경이 있었는데, 오늘은 이 변경된 부문좀 정리 해보고자 합니다.

* NFS를 사용하기 위한 방화벽 구성 으로, iptable를 사용하지만, iptables daemon이 아닌, firewalld 가 컨트롤 하게 변경되었다.

[root@nas ~]# firewall-cmd --zone=public --add-port=111/tcp --permanent
success
[root@nas ~]# firewall-cmd --zone=public --add-port=892/tcp --permanent
success
[root@nas ~]# firewall-cmd --zone=public --add-port=875/tcp --permanent
success
[root@nas ~]# firewall-cmd --zone=public --add-port=2049/tcp --permanent
success
[root@nas ~]# firewall-cmd --zone=public --add-port=32803/tcp --permanent
success
[root@nas ~]# firewall-cmd --zone=public --add-port=20048/tcp --permanent
success
[root@nas ~]# firewall-cmd --reload
success
[root@nas ~]# iptables-save | tail -n 15
-A FWDO_public -j FWDO_public_deny
-A FWDO_public -j FWDO_public_allow
-A INPUT_ZONES -i enp2s0 -g IN_public
-A INPUT_ZONES -g IN_public
-A IN_public -j IN_public_log
-A IN_public -j IN_public_deny
-A IN_public -j IN_public_allow
-A IN_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 111 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 875 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 2049 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 20048 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p tcp -m tcp --dport 32803 -m conntrack --ctstate NEW -j ACCEPT
COMMIT
# Completed on Sat Oct  4 10:39:38 2014

NFS Exports 는 그대로 사용

[root@nas /]# cat /etc/exports
/home   192.168.79.0/24(rw,sync,no_root_squash,no_all_squash)
[root@nas /]#

*note
 /home ⇒ shared directory
 10.0.0.0/24 ⇒ range of networks NFS permits accesses
 rw ⇒ writable
 sync ⇒ synchronize
 no_root_squash ⇒ enable root privilege
 no_all_squash⇒ enable users' authority

시스템 데몬 컨트롤 (service 에서 systemctl로 변경됨)

[root@nas /]# systemctl status rpcbind
rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled)
   Active: active (running) since Sat 2014-10-04 09:47:42 KST; 5s ago
  Process: 3353 ExecStart=/sbin/rpcbind -w ${RPCBIND_ARGS} (code=exited, status=0/SUCCESS)
 Main PID: 3355 (rpcbind)
   CGroup: /system.slice/rpcbind.service
           └─3355 /sbin/rpcbind -w

Oct 04 09:47:42 nas systemd[1]: Starting RPC bind service...
Oct 04 09:47:42 nas systemd[1]: Started RPC bind service.

NFS Server 부팅시 자동으로 시작 할수 있도록 등록

[root@nas /]# systemctl start nfs-server
[root@nas /]# systemctl start nfs-lock
[root@nas /]# systemctl start nfs-idmap
[root@nas /]# systemctl enable rpcbind
[root@nas /]# systemctl enable nfs-server
ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
[root@nas /]# systemctl enable nfs-lock
[root@nas /]# systemctl enable nfs-idmap
ln -s '/usr/lib/systemd/system/nfs-idmap.service' '/etc/systemd/system/nfs.target.wants/nfs-idmap.service'
[root@nas /]#

시스템의 USB / ACHI Device 의 초기화 순서를 보면 부팅시마다, USB-Storage의 순서가 바뀌어 있는것을 볼수 있다. ACHI 로만 부팅하는경우에는 상관 없지만, USB-Stick 으로 부팅하고 싶을경우 그리고 순서를 고정하고 싶은경우 kernel initrd image를 수정해야 한다.

[root@nas links]# lsscsi -Hw
[0]    usb-storage
[1]    ahci
[2]    ahci
[3]    ahci
[4]    ahci
[5]    ahci
[6]    ahci

[root@nas boot]# lsscsi -Hw
[0]    ahci
[1]    ahci
[2]    ahci
[3]    ahci
[4]    ahci
[5]    ahci
[6]    usb-storage

[root@nas ~]#  lsscsi
[0:0:0:0]    disk    ATA      MB1000EAMZE      HPG1  /dev/sda
[1:0:0:0]    disk    ATA      MB1000EAMZE      HPG1  /dev/sdb
[2:0:0:0]    disk    ATA      MB1000EAMZE      HPG1  /dev/sdc
[3:0:0:0]    disk    ATA      ST31000520AS     CC35  /dev/sde
[6:0:0:0]    disk    General  USB Flash Disk   1100  /dev/sdd

Kernel Initrd Image 수정

[root@nas boot]# dracut --force --omit-drivers ahci
[root@nas boot]# dracut --force --add-drivers usb_storage
[root@nas boot]# mkinitrd --preload=usb_storage /boot/initramfs-3.10.0-123.8.1.el7.x86_64.img 3.10.0-123.8.1.el7.x86_64 --force

Kernel Option에 아래 내용 추가
driverload=usb_storage erst_disable usb-storage.delay_use=0

Linux Software RAID는 동일하게 사용 가능하다.

** 각 Disk의 Partition Table을 fd로 설정
Partition Type 17  Hidden HPFS/NTF 63  GNU HURD or Sys fd  Linux raid auto

** Software RAID 구성
[root@nas boot]# mdadm --create --verbose --force --assume-clean /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sda1 appears to contain an ext2fs file system
    size=512000K  mtime=Thu Oct  2 23:34:32 2014
mdadm: /dev/sda1 appears to be part of a raid array:
    level=raid5 devices=5 ctime=Sat Oct  4 01:09:17 2014
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid5 devices=5 ctime=Sat Oct  4 01:09:17 2014
mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid5 devices=5 ctime=Sat Oct  4 01:09:17 2014
mdadm: /dev/sde1 appears to be part of a raid array:
    level=raid5 devices=5 ctime=Sat Oct  4 01:09:17 2014
mdadm: size set to 976630272K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

** 구성정보 상세..
[root@nas boot]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Oct  4 01:12:32 2014
     Raid Level : raid5
     Array Size : 2929890816 (2794.16 GiB 3000.21 GB)
  Used Dev Size : 976630272 (931.39 GiB 1000.07 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Oct  4 01:12:59 2014
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : nas:0  (local to host nas)
           UUID : 050f1930:9a9c621b:d3feb9b4:01456889
         Events : 2

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       65        3      active sync   /dev/sde1

** Software RAID 생성
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --spare-devices=0

** 구성정보 저장
mdadm --detail --scan >> /etc/mdadm.conf

** 서비스 중지
mdadm --stop /dev/md0

** 구성 상세
mdadm --detail /dev/md0

** 서비스 시작
mdadm --run /dev/md0

** 파일 시스템 생성
mkfs -t xfs -d su=64k -d sw=3 /dev/Md.

여기까지 CentOS7 에서 Sotware RAID를 구성하여, NFS 서버를 구성하는방법을 정리 해보았습니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다