天天看點

NAS應用底層架構實作項目

概念

       NAS:網絡附加存儲

       實質:共享網絡檔案系統實作網絡分布式檔案資料存儲

目的

       實作企業内部多使用者檔案共享存儲|在共享檔案系統中

       不同使用者的檔案資料的上傳與下載下傳|嚴格的使用者通路控

       制實作|不同服務對NAS伺服器的通路實作

架構

       Linux(RHEL5U1平台)+LVM+RAID+QUOTA+ACL+SAMBA+OPENSSH+LFTP

       注意:LVM是一種把硬碟驅動器空間配置設定成邏輯卷的方法,增強磁盤空間配置設定的可擴充性

               :RAID是提供資料存儲磁盤的可擴充性解決方案|在此項目中由于裝置資源忽略RAID

步驟

       step<1>

       安裝全新Linux(在這裡我安裝的是RHEL5U1)如果是作為獨立NAS伺服器,建議安裝Lnux      時,不要安裝與此項目不相關的,用不着的服務,這樣可以提高伺服器的整體性能,反之,那你   就看着辦,HOHO

       step<2>

       建立分區,這裡可以根據你的實際情況進行硬碟格式化分區,特别注意在主分區與邏輯分區     上建立新的分區的不同,這裡要特别注意所建立的分區的位置和label

       在這裡我的是在邏輯分區是在邏輯分區上建立新的分區,邏輯分區位置與label是/dev/sda4

       分區以及相關指令:

       root#fdisk /dev/sda4  root#partprobe  /dev/sda4 建立分區大小為30G

       建立PV :root#pvcreate naspv /dev/sda6

       建立VG :root#vgcreate naspv nasvg

       建立LV :root#lvcreate -n naslv -L  30g nasvg

       檢視所建立的:PV   VG   LV   root#pvdisplay   root#vgdisplay   root#lvdisplay

       格式化naslv  root#mk2fs -j /dev/nasvg/naslv

       注意:以上出現的naspv nasvg naslv 為所建立PV VG LV 所對應的裝置名稱

       step<3>

       建立NAS伺服器所需要的挂載目錄,在根下建立 mkdir  nas

       把/dev/nasvg/naslv分區挂載到/nas目錄下 root#mount /dev/nasvg/naslv  /nas

       如果想在系統啟動時自動挂在/nas這個目錄,需要修改一下/etc/fstab這個配置檔案

       修改方法以内容:root#vim /etc/fstab

       在下面增加相應的行:/dev/nasvg/naslv    /nas    ext3  defaults  0  0

       測試是否能夠自動挂載:root#mount -a

       step<4>

       批量添加使用者,在配置使用者磁盤配額和建立SAMBA使用者時需要用到

       這裡先批量建立100個使用者并設定密碼為123456

       root# for I in `seq 1 100` ; do  echo “user$i  123456”   >> userlist ; done 

        這個時候檢視root#tail -l userlist  裡面有批量建立的100個普通使用者

       執行這條指令: root# sed 's/ /:/g' userlist這條指令的意思是:把 userlist裡面的使用者名和密碼之  間的空格換成冒号,為了後面進行批量配置使用者磁盤配額和批量添加設定SAMBA使用者密     碼提供友善

       step<5>

       使用者磁盤配額設定,在這裡我把指令寫進腳本useradd.sh:

       !/bin/bash

       for i in `sed 's/ /:/g' userlist| awk '{print $0}'`

       do

        useradd ${i%:*}; echo ${i#*:} | passwd ${i%:*} --stdin &> /dev/null

        setquota -u ${i%:*} 2052000 3072000 0 0 /nas

       done

       在執行useradd.sh之前先修改vim /etc/fstab如下

       修改這一行為:/dev/nasvg/naslv   nas    ext3    defaults,usrquota,grpquota  0  0

       執行./useradd.sh這個腳本完成批量添加使用者并配置磁盤配額

       接下來執行相關測試磁盤配額指令

       root#mount -o remount  /nas

       root#quotaon  /nas

       root#mount

       測試使用者磁盤配額是否設定成功,因為使用者必須使用了磁盤也就是建立了資料才能看到用     戶磁盤配額是否生效,這裡我先給/NAS這個目錄設定1777權限,然後使用者建立一個檔案,       這是檢視使用者磁盤配額狀态,就會發生改變,證明使用者磁盤配額設定成功!

       root#chmod -R 1777  /nas

       root#touch testquota

       root#repquota /nas

       root#chmod  -R 755  /nas(收回/nas目錄的1777權限)

       step<6>

       添加使用者通路控制清單ACL

       修改如下檔案:root#vim /etc/fstab

       修改這一行為:/dev/nasvg/naslv    /nas    ext3    defaults,usrquota,grpquota,acl   0  0

       設定單個使用者ACL指令如下

       root#setfacl  -m  u:使用者名:rw  /nas

       為了防止使用者删除别人的檔案資料,這裡給/nas目錄加上o+t權限

       root#chmod  o+t  /nas

       檢視權限使用者清單指令root#getfacl  /nas

       step<7>

       建立并配置SAMBA

       編輯SAMBA配置檔案,檔案位置在/etc/samba/smb.conf

       root#vim /etc/samba/smb.conf添加如下内容

        [nas]

        comment = my nas share

        path = /nas

        public = yes

        valid users = user1 user2 user3 user4 user5 user6

        writeable = yes

        hosts allow = 192.168.0.

        browseable = yes

       批量添加SAMBA使用者并設定SAMBA使用者密碼,在這裡我把指令寫進腳本

       腳本名稱:smbpass.sh 腳本代碼如下

       smbpasswd -a ${i%:*} -s << EOF

       ${i#*:}

       EOF

       執行腳本:./smbpass.sh

       檢視SAMBA使用者密碼檔案内容

       root#cat /etc/samba/passdb.tdb

       到此SAMBA使用者以及密碼設定完成

       step<8>

       啟動相關服務所需要安裝的包,請用系統安裝樹來安裝所需要的rpm

       啟動以下相關服務進行NAS伺服器使用者通路讀寫上傳下載下傳測試

       root#service smb restart

       root#service vsftpd restart

       root3service sshd restart

       用NAS伺服器管理者提供的SAMBA使用者登入伺服器測試

       例如:root#smbclient  -L //192.168.0.211/nas

                user1$smbclient  [email protected]/nas -U user1

                user2$lftp [email protected]/nas

                user3$ssh [email protected]/nas

       小結:在使用SAMBA使用者登入測試的時候,會出現進不到 smb> 指令操作終端的錯誤

       這個時候就要檢視一下,你目前所使用的使用者時候有通路讀寫權限,也就是rwx權限位

如果沒有清手動設定使用者ACL通路控制權限,設定使用者SSH到主機管理NAS伺服器可以編輯root#/etc/hosts.deny 限制某個使用者就在這裡編輯放置他的IP在這裡加以限制

       例如:user1使用者

       <1>root#setfacl  -m u:user1:rwx /nas

       <2>把user1使用者加到以下配置檔案中

       root#vim /etc/samba/smb.conf

       到此NAS企業應用底層架構實作項目配置完成

繼續閱讀