概念
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企業應用底層架構實作項目配置完成