对于新接触Linux的管理员来说,Linux的存储设备加载和Windows有很大的区别。 在Windows服务器上,接入任何存储设备,如U盘、移动硬盘等,Windows系统都会自动加载,你只需要直接打开Windows资源管理器就可以浏览存储设备上的文件,而Linux系统却不是这样。 Linux的文件和目录都是位于一个root根分区。Root分区并不依赖单一的硬盘或者存储设备。
管理员可以使用mount命令将多个存储设备加载到根分区。 在Windows系统,存储设备访问是面向设备的。你会在Windows资源管理器看到光驱,USB键盘和硬盘驱动器等设备,因此很容易便可以使用一个新的设备。 但在Lin……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
对于新接触Linux的管理员来说,Linux的存储设备加载和Windows有很大的区别。
在Windows服务器上,接入任何存储设备,如U盘、移动硬盘等,Windows系统都会自动加载,你只需要直接打开Windows资源管理器就可以浏览存储设备上的文件,而Linux系统却不是这样。
Linux的文件和目录都是位于一个root根分区。Root分区并不依赖单一的硬盘或者存储设备。管理员可以使用mount命令将多个存储设备加载到根分区。
在Windows系统,存储设备访问是面向设备的。你会在Windows资源管理器看到光驱,USB键盘和硬盘驱动器等设备,因此很容易便可以使用一个新的设备。
但在Linux里,你要访问一个设备的时候,它必须先安装并连接到一个目录。一般情况下,没有预先安装配置好自动加载的工具的话,安装设备都是手动的,并且需要管理员决定将设备连接到哪个目录。在你断开设备,必须先卸载。服务器很少使用图形化界面。如果你在Linux系统的服务器不经过加载而直接插入一个usb存储设备,那么将不会看到这个设备。
要在Linux中加载一个存储设备,首先要规划好连接这个设备的目录,然后使用mount命令进行加载。举个例子:mount /dev/sdb1 /mnt 这里的/dev/sdb1是一个系统设备,/mnt是一个目录,通过这个命令你可以将sdb1这个设备加载到/mnt目录来使用,你可以先使用fdisk –l命令来查看系统里面的存储设备
如之前所说的,fdisk –l命令可以列出系统目前接入的存储设备。一般情况下,你可以看到许多类似于/dev/sd 的存储设备,sda通常就是系统所在的存储设备,代表着sata的第一个硬盘,sdb就是第二个接入的硬盘,而像sda1是显示这个硬盘上的分区1,如果有多个分区,就会延续sda1这个数字继续下去。
根据前面提到的信息,你应该能够找到你想要安装到服务器上的设备的名称,如存储设备。但是如果不是存储设备的话,需要使用dmesg命令来查看。该命令显示最近的内核活动,包括新发现的设备。下面是dmesg命令的例子。
例子1: 使用dmesg显示检测和控制内核环缓冲,包括加载的设备
[18435.325715] usb 1-1: new high-speed USB device number 2 using ehci-pci
[18435.504105] usb 1-1: New USB device found, idVendor=abcd, idProduct=1234
[18435.504109] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[18435.504110] usb 1-1: Product: UDisk
[18435.504115] usb 1-1: Manufacturer: General
[18435.504116] usb 1-1: SerialNumber: Љ
[18435.687375] usb-storage 1-1:1.0: USB Mass Storage device detected
[18435.688710] scsi33 : usb-storage 1-1:1.0
[18435.689819] usbcore: registered new interface driver usb-storage
[18436.692763] scsi 33:0:0:0: Direct-Access General UDisk 5.00 PQ: 0 ANSI: 2
[18436.702381] sd 33:0:0:0: Attached scsi generic sg2 type 0
[18436.728121] sd 33:0:0:0: [sdb] 15616000 512-byte logical blocks: (7.99 GB/7.44 GiB)
[18436.730316] sd 33:0:0:0: [sdb] Write Protect is off
[18436.730319] sd 33:0:0:0: [sdb] Mode Sense: 0b 00 00 08
[18436.732437] sd 33:0:0:0: [sdb] No Caching mode page found
[18436.872492] sd 33:0:0:0: [sdb] Assuming drive cache: write through
[18436.902023] sd 33:0:0:0: [sdb] No Caching mode page found
[18436.917099] sd 33:0:0:0: [sdb] Assuming drive cache: write through
[18436.979578] sdb: sdb1
[18436.997664] sd 33:0:0:0: [sdb] No Caching mode page found
[18437.002400] sd 33:0:0:0: [sdb] Assuming drive cache: write through
[18437.009989] sd 33:0:0:0: [sdb] Attached SCSI removable disk
从上面dmesg显示的设备名称例子来看,你可以看到许多分区可以已经加载在/ proc 目录。这个命令显示了所有内核支持的分区。在这里显示出来的分区意味着你可以使用加载命令mount来加载这些分区。dmesg命令也显示很多设备的信息,包括内核的缓冲等等信息,当然每个Linux系统有着不同的硬件设备和系统环境,所显示的也不同,如果你不了解这些信息,可以忽略。
例子2. 使用 cat /proc/partitions 显示linux系统的已连接的分区
[root@server2 ~]# cat /proc/partitions
major minor #blocks name
2 0 4 fd0
8 0 8388608 sda
8 1 512000 sda1
8 2 7875584 sda2
11 0 1048575 sr0
253 0 839680 dm-0
253 1 7032832 dm-1
8 16 7808000 sdb
8 17 2318236 sdb1
在Linux系统里,你要移除一个设备,要使用umount命令进行卸载,而且要确保进行移除的设备没有被其他程序或者进程占用。例如使用umount /dev/sdb1来卸载sdb1分区。