UNIX存儲設備管理
(適用於UnixWare,Solaris,SVR4等多種UNIX操作系統)
一、 存儲設備的增加
1、 增加新的塊設備
(1) # cd /dev
(2)使用mknod命令增加新的設備
# /sbin/mknod /dev/dsk/1s2 b 0 6
其參數分別是設備名、塊設備標識(b)、主設備號和次設備號
(3)使用chgrp命令將所創建的設備特別文件歸屬到root組中
# chgrp root /dev/dsk/1s2
2、 增加新的字符設備
(1) # mknod /dev/rdsk/1s2 c 8 6
其參數同樣分別是設備名、字符設備標識(c)、主設備號和次設備號
(2)使用chgrp命令將所創建的設備特別文件歸屬到root組中
# chgrp root /dev/dsk/1s2
二、 存儲設備的格式化與數據拷貝
在用磁盤或磁帶存儲信息之前,必須首先對它們進行格式化
用來格式化硬盤和軟盤的命令format的基本格式如下
format device-name
其中 device-name 為特別文件的名字
如 # format /dev/diskette1
1、 將硬盤上的整個文件拷貝到磁帶上
為了快速地將硬盤上的所有文件拷貝到磁帶中,可以使用 volcopy 命令。但在使用該命令前,必須用labelit命令為文件系統創建文件系統名和卷標名
# labelit –F ufs /dev/dsk/c0t3d0s0 home1 vol1
# volcopy -F ufs home1 /dev/rdsk/c0t3d0s7 vol1 /dev/rmt/0 tape1
上述例子中,labelit命令標識了名為home1、卷標為vol1的文件系統,接下來volcopy命令將該文件系統的內容拷貝到磁帶(/dev/rmt/0)上並指定了新的卷標名(tape1)
2、 在硬盤上的不同文件系統間拷貝數據
# cp /home/file1 /newuser/file1
3、 將硬盤上的文件拷貝到軟盤上
#find . –print | cpio -o > /dev/diskette1
與其相反 #cpio -I < /dev/diskette1 從軟盤拷貝到硬盤
4、 軟盤相互拷貝
# dd if= /dev/diskette1 of= /dev/diskette2
三、 存儲設備的去除與數據擦除
1、 使用 /usr/sbin/wall 命令向用戶發出刪除存儲設備的警告
# /usr/sbin/wall
we will remove the device : /dev/dsk/1s6
2、 使用 /usr/sbin/devnm 命令確定 root 文件系統存放在哪台設備上
# /usr/sbin/devnm /
/dev/dsk/1s0 /
1s0代表分區號,root文件系統被安裝在這裡
3、 確定存放root文件系統設備的主設備號和次設備號,可使用 ls –l special 命令得到,其中 special 值同樣代表分區號 在這裡,對 special 取值為 1s6,最後一位為6表示相應分區占據整個硬盤
# ls –l /dev/dsk/1s6
brw -------- 3 root sys 0,6 Feb 23 1988 /dev/dsk/1s6
從結果中可以看出,主設備號為0,次設備號為6
4、 使用 /usr/sbin/devnm 命令來確定用戶文件系統存放在哪台設備上
# /usr/sbin/devnm /usr
/dev/dsk/1s2 /usr
5、 使用 ls –l special 確定用戶文件系統的主設備號和次設備號
# ls –l /dev/dsk/1s6
brw -------- 2 root sys 0,6 Feb 23 1988 /dev/dsk/1s6
6、 使用 ls –l device-path 命令來確定要除去設備的主設備號和次設備號,其中 device-path 代表要去除設備的路徑名,在這裡將其取為 /dev/rdsk/disk2
# ls –l /dev/rdsk/disk2
brw -------- 2 root sys 0,22 Feb 23 1988 /dev/rdsk/disk2
7、 如果存放 root 和用戶文件系統的主設備號和次設備號相同,則不能去除該設備
8、 通過查找 /dev/dsk 目錄下具有相同主設備號和次設備號的設備來確定目標控制器、驅動器和硬盤分區號
# ls –l /dev/dsk | grep “0,22”
brw -------- 6 root sys 0,22 Dec 30 15:26 1s6
上述結果表明目標控制器值為1,驅動器值為1,硬盤分區號為6
9、 使用 grep 命令列出要去除設備上文件的目錄信息
# grep 1s6 /etc/vfstab
/dev/rdsk/1s6 /dev/rdsk/1s6 /home4 /home2 s5 - yes –
在這裡可以保存這些目錄中的信息,以便在重新使用該設備時將有關信息拷貝回來
10、 使用 cp 命令將文件分配表做一個備份
# cp /etc/vfstab /etc/ovfstab
11、 使用 /usr/sbin/umount 命令,從設備上卸下要刪除的目錄
# /usr/sbin/umount /home4
12、 編輯 /etc/vfstab 文件來刪除有關要去除設備的參考信息,這可以通過使用 rm 命令將該設備的名字從 /dev/dsk 和 /dev/rdsk 目錄中去除的方法來實現
# rm /dev/dsk/1s6 /dev/rdsk/1s6
# rm /dev/rdsk/1s6 /dev/rdsk/1s6
13、 如果該設備為多個文件系統所包含,則要從 /etc/vfstab 文件中刪除有與該設備有關的通道
14、 使用 devattr 命令來確定要去除設備的別名,然後使用putdev命令將該設備從設備庫中去除掉
# devattr –v /dev/rdsk/disk2 alias
alias = ‘disk2’
# putdev –d disk2
15、 使用 getdgrp 命令來確定要去除設備所屬的設備組,然後用 putdgrp 命令將該設備從相應設備組中去除掉
# getdgrp alias = disk2
disk
# putdgrp -d disk disk2
這樣就完成了去除存儲設備的工作
四、 設備描述信息管理
1、 增加設備表項
putdev –a alias [attribute=value[…]]
alias是要加入到數據庫中的設備別名,attribute=value 是一個與設備有關的屬性值表
例 # putdev –a diskette3 desc = “floppy Diskette Drive 3”
type=diskette
2、 顯示設備列表
# getdev
ctape1
disk1
disk2
diskette1
diskette3
spool
3、 設備屬性管理
(1) 顯示設備屬性
devattr –v device [attribute[…]]
其中device是要顯示其屬性的設備名或設備別名,attribute是將要顯示的屬性
下面是一個使用 devattr 命令的實例
#devattr –v diskette1
alias = ‘diskette1’
bdevice=’/dev/dsk/f0t’
capacity=’2307’
cdevice=’/dev/rdsk/f0t’
copy=’true’
desc=’Floppy Drive1’
erasecmd=’/usr/sadm/sysadm/bin/floperase /dev/dsk/f0t’
fmtcmd=’/usr/sbin/format –v /dev/rdsk/f-q15dt’
mdensdefault=’mdens 1 HIGH’
mdenslist=’mdens 1 HIGH,modens 1 MED,mdens1 low’
mkfscmd=’/sbin/mkfs –F s5 /dev/dsk/ft0 2370:592 230’
mountpt=’install’
removable=’true’
type=’diskette’
volume=’diskette’
(2)修改設備屬性
putdev –m device attribute=value[attribute=value[…]]
#putdev –m diskette1 mountpt=’/mnt’
(3)刪除設備屬性
putdev –d device attribute
#putdev –d diskette1 volume
(4)刪除設備表項
putdev –d device
#putdev –d diskette1
設備diskette1就從設備數據庫中刪除了
五、 設備組的管理
通過建立設備組,可以在多台設備間選擇其中之一來完成有關的工作
設備組數據庫存放在 /etc/dgroup.tab 中,每個設備組都在其中有一個表項,表項的內容是有關設備組的關系表
1、 增加設備表項
putdgrp group-name alias[alias[…]]
其中group-name是所要增加的設備組的名字,alias是該組成員的名字
# putdgrp disk disk1 disk2
通過上述命令,建立了一個名為disk的設備組,其成員為disk1和disk2
2、 顯示設備組列表
# getdgrp
ctape
disk
diskette
3、 刪除設備組表項
putdgrp –d group-name
# putdgrp –d disk
通過上述命令,刪除了名字為 disk 的設備組
[/color:1156d1738c][/color:1156d1738c][/color:1156d1738c][/size:1156d1738c][/color:1156d1738c]