Linux磁盘挂载操作手册

文章目录

一、挂载单个分区小于2T的分区
二、挂载单个分区大于2T的分区

一、挂载单个分区小于2T的分区

1.查看系统当前分区情况

命令df –h

实例:

[211.139.10.178_Y1025_16:09:31]

Last login: Fri Oct 26 00:01:51 2012 from e10-3

E10-3:~ # df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2              40G  4.7G   33G  13% /

devtmpfs               12G  144K   12G   1% /dev

tmpfs                 3.9G  100K  3.9G   1% /dev/shm

/dev/sda1             479M   72M  383M  16% /boot

/dev/sda5             869G  201M  824G   1% /home

/dev/sr0              2.9G  2.9G     0 100% /media/SLES-11-SP1-DVD-x86_64.0432..001

 

2.查看系统当前硬盘分区情况

命令:fdisk –l

E10-3:~ # fdisk -l

 

Disk /dev/sda: 999.0 GB, 998999326720 bytes

255 heads, 63 sectors/track, 121454 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00004cb7

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          63      506016   83  Linux

/dev/sda2              64        5284    41937682+  83  Linux

/dev/sda3            5285        6328     8385930   82  Linux swap / Solaris

/dev/sda4            6329      121454   924749595    f  W95 Ext'd (LBA)

/dev/sda5            6329      121452   924733498+  83  Linux

 

Disk /dev/sdb: 999.0 GB, 998999326720 bytes

255 heads, 63 sectors/track, 121454 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

 

Disk /dev/sdc: 4994.0 GB, 4993981612032 bytes

255 heads, 63 sectors/track, 607150 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table

3.创建新的硬盘分区

命令: fdisk /dev/sdb

注:这里的/dev/sdb是具体一个硬盘,此参数可改成fdisk –l显示的硬盘的序号。

 

实例:

E10-3:~ # fdisk /dev/sdb

 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

 Building a new DOS disklabel with disk identifier 0xd3f0a6aa.

 Changes will remain in memory only, until you decide to write them.

 After that, of course, the previous content won't be recoverable.

 

 The number of cylinders for this disk is set to 121454.

 There is nothing wrong with that, but this is larger than 1024,

 and could in certain setups cause problems with:

 1) software that runs at boot time (e.g., old versions of LILO)

 2) booting and partitioning software from other OSs

    (e.g., DOS FDISK, OS/2 FDISK)

 Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

 Command (m for help): m

 Command action

    a   toggle a bootable flag

    b   edit bsd disklabel

    c   toggle the dos compatibility flag

    d   delete a partition

    l   list known partition types

    m   print this menu

    n   add a new partition

    o   create a new empty DOS partition table

    p   print the partition table

    q   quit without saving changes

    s   create a new empty Sun disklabel

    t   change a partition's system id

    u   change display/entry units

    v   verify the partition table

    w   write table to disk and exit

    x   extra functionality (experts only)

 

 Command (m for help): n

 Command action

    e   extended

    p   primary partition (1-4)

 e

 Partition number (1-4): 1

 First cylinder (1-121454, default 1): 1

 Last cylinder, +cylinders or +size{K,M,G} (1-121454, default 121454):

 Using default value 121454

 

 Command (m for help): p

 

 Disk /dev/sdb: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0xd3f0a6aa

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sdb1               1      121454   975579223+   5  Extended

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

E10-3:~ # fdisk -l

 

 Disk /dev/sda: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0x00004cb7

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sda1   *           1          63      506016   83  Linux

 /dev/sda2              64        5284    41937682+  83  Linux

 /dev/sda3            5285        6328     8385930   82  Linux swap / Solaris

 /dev/sda4            6329      121454   924749595    f  W95 Ext'd (LBA)

 /dev/sda5            6329      121452   924733498+  83  Linux

 

 Disk /dev/sdb: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0xd3f0a6aa

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sdb1               1      121454   975579223+   5  Extended

 

 Disk /dev/sdc: 4994.0 GB, 4993981612032 bytes

 255 heads, 63 sectors/track, 607150 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0x00000000

 

 Disk /dev/sdc doesn't contain a valid partition table

 

4.创建挂载点

即创建目录,以便将新建的分区挂载到新目录下

命令:mkdir -p /webroot/1

实例:

E10-3:~ # mkdir -p /webroot/1

 

5.挂载分区

命令:mount /dev/sdb1   /webroot/1

说明:其中/dev/sdb5是硬盘,/webroot/1是挂载点,即挂载到的目录

实例:

 

E10-3:/etc # mount /dev/sdb1 /webroot/1

 mount: you must specify the filesystem type

 

E10-3:/etc # mount -t ext3 /dev/sdb1   /webroot/1

mount: wrong fs type, bad option, bad superblock on /dev/sdb1,

       missing codepage or helper program, or other error

      In some cases useful info is found in syslog - try

       dmesg | tail  or so

 

E10-3:/etc # mkfs.ext3 -L /webroot/1  /dev/sdb1

mke2fs 1.41.9 (22-Aug-2009)

mkfs.ext3: inode_size (128) * inodes_count (0) too big for a

        filesystem with 0 blocks, specify higher inode_ratio (-i)

        or lower inode count (-N).

E10-3:/ # mkdir -p /webroot/1

 E10-3:/ # mount -t nfs -o loop /dev/sdb1 /webroot/1

 mount.nfs: remote share not in 'host:dir' format

 E10-3:/ # mkfs.ext3 -L /webroot/1 /dev/sdb1

 mke2fs 1.41.9 (22-Aug-2009)

 mkfs.ext3: inode_size (128) * inodes_count (0) too big for a

         filesystem with 0 blocks, specify higher inode_ratio (-i)

         or lower inode count (-N).

 

 E10-3:/ # mkfs -t ext3 -c /dev/sdb1

 mke2fs 1.41.9 (22-Aug-2009)

 mkfs.ext3: inode_size (128) * inodes_count (0) too big for a

         filesystem with 0 blocks, specify higher inode_ratio (-i)

         or lower inode count (-N).

以上红色部分表示挂载或者格式化/dev/sdb1没有成功,经百度搜索查找原因得知,这里挂载和格式化的是扩展分区,我们不能这么做,挂载或者格式化操作对象只能是逻辑分区或者主分区。所以这里需要在扩展分区上创建逻辑分区。

 

5.1创建逻辑分区

命令:E10-3:/ # fdisk /dev/sdb

实例:E10-3:/ # fdisk /dev/sdb

 The number of cylinders for this disk is set to 121454.

 There is nothing wrong with that, but this is larger than 1024,

 and could in certain setups cause problems with:

 1) software that runs at boot time (e.g., old versions of LILO)

 2) booting and partitioning software from other OSs

    (e.g., DOS FDISK, OS/2 FDISK)

 

 Command (m for help): m

 Command action

    a   toggle a bootable flag

    b   edit bsd disklabel

    c   toggle the dos compatibility flag

    d   delete a partition

    l   list known partition types

    m   print this menu

    n   add a new partition

    o   create a new empty DOS partition table

    p   print the partition table

    q   quit without saving changes

    s   create a new empty Sun disklabel

    t   change a partition's system id

    u   change display/entry units

    v   verify the partition table

    w   write table to disk and exit

    x   extra functionality (experts only)

 

 Command (m for help): p

 

 Disk /dev/sdb: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0xd3f0a6aa

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sdb1               1      121454   975579223+   5  Extended

 

 Command (m for help): n

Command action

    l   logical (5 or over)

    p   primary partition (1-4)

 l

 First cylinder (1-121454, default 1):

 Using default value 1

 Last cylinder, +cylinders or +size{K,M,G} (1-121454, default 121454):

 Using default value 121454

 

 Command (m for help): p

 

 Disk /dev/sdb: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0xd3f0a6aa

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sdb1               1      121454   975579223+   5  Extended

 /dev/sdb5               1      121454   975579192   83  Linux

 

Command (m for help): w

 The partition table has been altered!

 

 

 Calling ioctl() to re-read partition table.

 Syncing disks.

E10-3:/ # fdisk -l

 

 Disk /dev/sda: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0x00004cb7

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sda1   *           1          63      506016   83  Linux

 /dev/sda2              64        5284    41937682+  83  Linux

 /dev/sda3            5285        6328     8385930   82  Linux swap / Solaris

 /dev/sda4            6329      121454   924749595    f  W95 Ext'd (LBA)

 /dev/sda5            6329      121452   924733498+  83  Linux

 

 Disk /dev/sdb: 999.0 GB, 998999326720 bytes

 255 heads, 63 sectors/track, 121454 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0xd3f0a6aa

 

    Device Boot      Start         End      Blocks   Id  System

 /dev/sdb1               1      121454   975579223+   5  Extended

 /dev/sdb5               1      121454   975579192   83  Linux

 

 Disk /dev/sdc: 4994.0 GB, 4993981612032 bytes

 255 heads, 63 sectors/track, 607150 cylinders

 Units = cylinders of 16065 * 512 = 8225280 bytes

 Disk identifier: 0x00000000

 

 Disk /dev/sdc doesn't contain a valid partition table

5.2 格式化逻辑分区

命令:E10-3:/ # mkfs.ext3 -L /webroot/1 /dev/sdb5

说明:ext3是文件系统类型,需根据实际情况更改,/webroot/1是挂载点,/dev/sdb5是逻辑分区名称

 

实例:

E10-3:/ # mkfs.ext3 -L /webroot/1 /dev/sdb5

 mke2fs 1.41.9 (22-Aug-2009)

 Filesystem label=/webroot/1

 OS type: Linux

 Block size=4096 (log=2)

 Fragment size=4096 (log=2)

 60981248 inodes, 243894798 blocks

 12194739 blocks (5.00%) reserved for the super user

 First data block=0

 Maximum filesystem blocks=4294967296

 7444 block groups

 32768 blocks per group, 32768 fragments per group

 8192 inodes per group

 Superblock backups stored on blocks:

         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

         4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,

         102400000, 214990848

 

 Writing inode tables: done                           

 Creating journal (32768 blocks): done

 Writing superblocks and filesystem accounting information: done

 

 This filesystem will be automatically checked every 39 mounts or

 180 days, whichever comes first.  Use tune2fs -c or -i to override.

5.3临时挂载(逻辑)分区

命令:mount /dev/sdb5   /webroot/1

说明:因挂载信息没有写到/etc/fstab文件中,所以这里只是临时挂载,系统重启后此挂载会消失。

 

实例:

E10-3:/ # mount /dev/sdb5   /webroot/1

 E10-3:/ # df -h

 Filesystem            Size  Used Avail Use% Mounted on

 /dev/sda2              40G  4.7G   33G  13% /

 devtmpfs               12G  152K   12G   1% /dev

 tmpfs                 3.9G  100K  3.9G   1% /dev/shm

 /dev/sda1             479M   72M  383M  16% /boot

 /dev/sda5             869G  201M  824G   1% /home

 /dev/sr0              2.9G  2.9G     0 100% /media/SLES-11-SP1-DVD-x86_64.0432..001

 /dev/sdb5             916G  200M  870G   1% /webroot/1

 

5.4取消挂载

命令:umount /dev/sdb5

说明:因为第一次挂载硬盘时不知如何挂载,所以采用了临时挂载。但因为临时挂载分区后,系统重启后挂载分区会消失,所以此处先取消挂载,再将挂载信息写到启动文件,这样系统重启时会自动挂载所有分区。

 

 

实例:

E10-3:/ # umount /dev/sdb5

 E10-3:/ # df -h

 Filesystem            Size  Used Avail Use% Mounted on

 /dev/sda2              40G  4.7G   33G  13% /

 devtmpfs               12G  152K   12G   1% /dev

 tmpfs                 3.9G  100K  3.9G   1% /dev/shm

 /dev/sda1             479M   72M  383M  16% /boot

 /dev/sda5             869G  201M  824G   1% /home

 /dev/sr0              2.9G  2.9G     0 100% /media/SLES-11-SP1-DVD-x86_64.0432..001

5.5 将挂载信息写到启动文件

命令:echo "/dev/sdb5     /webroot/1     ext3     defaults 0 0" >> /etc/fstab

说明:将挂载信息写到/etc/fstab文件,系统启动时会根据此文件的信息挂载分区。

 

举例:

E10-3:/ # echo "LABEL=/webroot/1     /webroot/1     ext3     defaults 0 0" >> /etc/fstab

 E10-3:/ # df -h

 Filesystem            Size  Used Avail Use% Mounted on

 /dev/sda2              40G  4.7G   33G  13% /

 devtmpfs               12G  152K   12G   1% /dev

 tmpfs                 3.9G  100K  3.9G   1% /dev/shm

 /dev/sda1             479M   72M  383M  16% /boot

 /dev/sda5             869G  201M  824G   1% /home

 /dev/sr0              2.9G  2.9G     0 100% /media/SLES-11-SP1-DVD-x86_64.0432..001

 E10-3:/ # more /etc/fstab

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part3 swap              

   swap       defaults              0 0

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part2 /                 

   ext3       acl,user_xattr        1 1

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part1 /boot             

   ext3       acl,user_xattr        1 2

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part5 /home             

   ext3       acl,user_xattr        1 2

 proc                 /proc                proc       defaults              0 0

 sysfs                /sys                 sysfs      noauto                0 0

 debugfs              /sys/kernel/debug    debugfs    noauto                0 0

 usbfs                /proc/bus/usb        usbfs      noauto                0 0

 devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

 

 LABEL=/webroot/1     /webroot/1     ext3     defaults 0 0

 E10-3:/ # mount -a

 mount: special device LABEL=/webroot/1 does not exist

 E10-3:/ # vi /etc/fstab

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part3 swap                 swap       defaults              0 0

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part2 /                    ext3       acl,user_xattr        1 1

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part1 /boot                ext3       acl,user_xattr        1 2

 /dev/disk/by-id/scsi-3600605b0020ecc50181c076d1680b376-part5 /home                ext3       acl,user_xattr        1 2

 proc                 /proc                proc       defaults              0 0

 sysfs                /sys                 sysfs      noauto                0 0

 debugfs              /sys/kernel/debug    debugfs    noauto                0 0

 usbfs                /proc/bus/usb        usbfs      noauto                0 0

 devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

 

 

 LABEL=/webroot/1     /webroot/1     ext3     defaults 0 0

 ~

 ~

 ~

 ~

 ~

 ~

"/etc/fstab" 12L, 924C written          

注:实际操作时,将/etc/fstab文件:

LABEL=/webroot/1     /webroot/1     ext3     defaults 0 0

修改为:

/dev/sdb5    /webroot/1     ext3     defaults 0 0

5.6立即挂载所有分区

命令:mount -a            

E10-3:/ # mount -a

5.7 查看挂载结果

命令:df -h

 E10-3:/ # df –h

 

Filesystem            Size  Used Avail Use% Mounted on

 /dev/sda2              40G  4.7G   33G  13% /

 devtmpfs               12G  152K   12G   1% /dev

 tmpfs                 3.9G  100K  3.9G   1% /dev/shm

 /dev/sda1             479M   72M  383M  16% /boot

 /dev/sda5             869G  201M  824G   1% /home

 /dev/sr0              2.9G  2.9G     0 100% /media/SLES-11-SP1-DVD-x86_64.0432..001

 /dev/sdb5             916G  200M  870G   1% /webroot/1

二、挂载单个分区大于2T的分区

说明:
当单个分区大小大于2TB时,不能使用fdisk 来创建分区,而要使用parted来分区。
1.创建分区(parted)
命令:parted /dev/sdc
2.格式化分区
命令:mkfs.ext3 /dev/sdc1
3.创建挂载点
命令:mkdir -p /webroot/2
4.将挂载信息写到启动文件
命令:
echo "/dev/sdc1 /webroot/2 ext3 defaults 0 0" >> /etc/fstab
5.挂载所有分区
命令:
mount -a
6.查看挂载结果
命令:
df –h
7.重启服务器查看挂载结果
命令:
sync
init 6
重启成功后,df –h
挂载2T以上的分区操作实例
操作系统类型:suse linux enterpriase 9 (64位)
服务器PAW-RK1上挂载/dev/sdf(富士通DX80磁阵)存储前配置:
PAW-RK1:~ # cat /etc/fstab
/dev/sda6 / ext3 acl,user_xattr 1 1
/dev/sda1 /boot ext3 acl,user_xattr 1 2
/dev/sda5 /home ext3 acl,user_xattr 1 2
/dev/sda2 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
sysfs /sys sysfs noauto 0 0
/dev/cdrom /media/cdrom subfs fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/sda7 /home/sybiq/data ext3 defaults 1 2
PAW-RK1:~ # cat /etc/raw
raw1:sdb
raw2:sdc
raw3:sdd
raw4:sde

挂载步骤
PAW-RK1:/ #
(parted) mkpart
Partition name? []? /dev/sdf
File system type? [ext2]? ext3
Start? 0
End? 5588910MB
(parted) print
Model: LSI MegaRAID 8708ELP (scsi)
Disk /dev/sdc: 4994GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 4994GB 4994GB /dev/sdc5 , , , , , , , , , , ,
(parted) quit
Information: You may need to update /etc/fstab.
PAW-RK1:/ # pwd
/
PAW-RK1:/ # mkdir /zxindata
PAW-RK1:/ # chown zxin10:sybase zxindata
PAW-RK1:/ # ls –l
total 221
drwxr-x--- 2 zxin10 sybase 4096 Nov 26 15:34 zxindata
PAW-RK1:/ # chmod 755 /zxindata/
PAW-RK1:/ # ls –al *
total 221
省略。。。。。。
drwxr-xr-x 2 zxin10 sybase 4096 Nov 26 15:34 zxindata
PAW-RK1:/ # mount /dev/sdf1 /zxindata
PAW-RK1:/ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 40G 5.0G 33G 14% /
tmpfs 7.9G 8.0K 7.9G 1% /dev/shm
/dev/sda1 130M 12M 112M 10% /boot
/dev/sda5 69G 5.8G 60G 9% /home
/dev/sda7 9.9G 559M 8.9G 6% /home/sybiq/data
/dev/sdf1 5.3T 129M 5.2T 1% /zxindata  //说明挂载成功。
PAW-RK1:/ # echo "/dev/sdf1 /zxindata ext3 defaults 0 0" >> /etc/fstab
PAW-RK1:/ # sync
PAW-RK1:/ # init 6

parted分区部分也可按照以下方法操作,效果相同。
存储超过2T的时候,就不能使用常规的分区方式了,要使用GPT的分区方式。在linux下可以使用parted来操作。
假设硬盘共有4T,按照2T分成2个分区:
首先将该硬盘标记GPT
parted /dev/sdb mklabel gpt
在gpt分区中创建一个主分区,起始为0,到2000000MB的位置,就是2T的空间
parted /dev/sdb mkpart primary 0 2000000

在gpt分区中创建一个主分区,起始为2000000MB,到4000000MB的位置,就是2T的空间
parted /dev/sdb mkpart primary ext3 2000000 4000000

按照以上方法分区(续上文的 PAW-RK1:/ # sync   ;PAW-RK1:/ # init 6 ;处)后,重启服务器,服务器无法正常启动,去机房看,结果自动进入维护模式。具体如下:
fsck failed for at lease one filesystem (not /).
Please repair manually and reboot.
The root file system is is already mounted read-write
Attention:Only CONTROL-D will reboot the system in this maintanance mode.shutdown or reboot will not work.
Give root password for login:

此时输入root密码,登陆成功。显示如下:
(none):~ # fdisk -l
Disk /dev/sda: 146.9 GB, 146999869440 bytes
255 heads, 63 sectors/track, 17871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 17 136521 83 Linux
/dev/sda2 18 1062 8393962+ 82 Linux swap
/dev/sda3 1063 17870 135010260 f W95 Ext'd (LBA)
/dev/sda5 1063 10200 73400953+ 83 Linux
/dev/sda6 10201 15422 41945683+ 83 Linux
/dev/sda7 15423 16728 10490413+ 83 Linux
事实上此服务器上已挂载裸设备(sybase IQ数据库使用的,具体见本文前面的/etc/raw配置),但此处也无法识别到/dev/sdb-/dev/sde.
执行以下命令:
(none):~ #mount -a
/dev/sda1,/dev/sda5,/dev/sda6,/dev/sda7挂载成功。但/dev/sdf1没成功,提示如下:

EXT3-fs:mounted filesystem with ordered data mode.
mount:/dev/sdf1 is not a valid block device.
注意:此时/etc/sdb,/etc/sdc,/etc/sde(都是磁阵)也没挂载成功。
在网上找了很久,没找到 解决 mount:/dev/sdf1 is not a valid block device的办法。(个人认为应该是此时服务器还未识别到外部存储,所以/dev/sdf1和/etc/sdb,/etc/sdc,/etc/sde都未识别到

在维护模式下,修改/etc/fstab最后一行如下:
/dev/sdf1 /zxindata ext3 defaults 0 0 //服务器重启失败,是因为此行最后一个数字为2,表示要对此分区做fsck文件系统校验,结果准备校验此文件系统时,未识别到/dev/sdf1设备,所以校验不通过。校验不通过后,系统自动进入维护模式。//
在维护模式下,重启服务器,服务器启动成功。但启动后还是没有自动挂载/dev/sdf1.启动成功登陆进系统后,手动挂载
mount /dev/sdf1 /zxindata ,可以挂载成功。

问题
1、mount:/dev/sdf1 is not a valid block device ,是不是说明,在此刻,服务器还未识别到/dev/sdf1这个设备?是
2、如果我的挂载方法不正确,请指导下如何正确挂载磁阵,以便服务器启动时能自动挂载磁阵(必须挂载成文件系统)。

服务器开机时自动挂载磁阵 实现方法:
添加开机自启动程序(在开机前会自动执行的脚本)。具体解决过程如下:
PAW-RK1:/etc/init.d # touch mount_diskarry.sh
PAW-RK1:/etc/init.d # echo "mount /dev/sdf1 /zxindata">>mount_diskarry.sh
PAW-RK1:/etc/init.d # touch umount_diskarry.sh
PAW-RK1:/etc/init.d # echo"umount /dev/sdf1">>umount_diskarry.sh
PAW-RK1:/etc/init.d # chmod 755 mount_diskarry.sh
PAW-RK1:/etc/init.d # chmod 755 umount_diskarry.sh
ln -s /etc/init.d/mount_diskarry.sh /etc/init.d/rc5.d/S01mount_diskarry
ln -s /etc/init.d/umount_diskarry.sh /etc/init.d/rc0.d/K01umount_diskarry
PAW-RK1:/etc/init.d # cat /etc/fstab   //说明:/dev/sdf1不是通过/etc/fstab实现开机自动挂载的。
/dev/sda6 / ext3 acl,user_xattr 1 1
/dev/sda1 /boot ext3 acl,user_xattr 1 2
/dev/sda5 /home ext3 acl,user_xattr 1 2
/dev/sda2 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
sysfs /sys sysfs noauto 0 0
/dev/cdrom /media/cdrom subfs fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/sda7 /home/sybiq/data ext3 defaults 1 2


重启服务器:
PAW-RK1:/etc/init.d #sync
PAW-RK1:/etc/init.d #init 6
服务器重启成功后,登陆进系统,查看磁阵是否已自动挂载。
df –h
结果显示开机后,磁阵已自动挂载。
(网上说,还可以通过chkconfig来实现,方法没学会,所以没采用)

开机自启动程序原理说明
(来自柏青哥的SuSe Linux :http://www.suse.url.tw/sles10/lesson6.htm)

Linux磁盘挂载操作手册 - 勇敢的心 - 勇敢的心
 

在整个 Linux 开机过程里,init 程序所加载的 /etc/inittab 档案,扮演着一个很重要的角色,所以对这个档案必须要有一些基本的认识。
 Linux 操作系统的启动方式是靠 runlevel 来定义,而当确定了系统要进入的 runlevel 之后,也同时决定了系统将来要使用的相关服务。在 /etc/inittab 里,对几个系统的执行等级 ( runlevel ) 有相关说明:
# runlevel 0 is System halt (Do not use this for initdefault!)
# 系统关机。
# runlevel 1 is Single user mode
# 系统进入单人模式 。
# runlevel 2 is Local multiuser without remote network (e.g. NFS)
# 本地端多人使用模式,不提供远程网络服务,如 NFS 等。
# runlevel 3 is Full multiuser with network
# 多人使用的文字接口模式,有网络相关服务。
# runlevel 4 is Not used
# 目前为系统所保留,不使用。
# runlevel 5 is Full multiuser with network and xdm
# 多人使用的图形接口模式,有网络相关服务。
# runlevel 6 is System reboot (Do not use this for initdefault!)
# 系统重新启动。
/etc/init.d/boot 是在开机过程中,init 所执行的第一支 Script,其主要执行的工作,如挂载 procfs、sysfs 及 devpts 这一类的文件系统、启动 /etc/init.d/boot.d 目录中名称是以 S 开头的符号链接文件所指向之 scripts (注一),及执行 /etc/init.d/boot.local 这支 script。

注一:这些 scripts 主要执行的工作如加载必需之核心模块、启动 LVM、检查及挂载本地端的文件系统 ( 根据 /etc/fstab )、设定硬件时间、备份核心讯息、启用 swap、设定 hostname 及 yp 等等。

当 boot script 完成了它的工作后,会将主控权交还给 init 程序,init 接着会根据 initdefault 所指定的 runlevel,来决定下一步的动作。由于 initdefault 所指定的预设 runlevel 是 5,因此 /etc/init.d/rc 这支 script,就会根据 /etc/init.d/rc5.d 这个目录的内容,来决定启动哪些服务。

 仔细看 /etc/init.d/rc5.d 目录的内容,发觉其下都是一些符号链接文件,并链接至 /etc/init.d/ 目录下的 scripts,如以下所示:
suse:~ # ls -l /etc/init.d/rc5.d
lrwxrwxrwx 1 root root 7 Oct 7 23:22 K07cron -> ../cron
lrwxrwxrwx 1 root root 6 Aug 29 18:41 S10nfs -> ../nfs
这些符号链接文件的文件名,不是以 K (Kill) 开头,就是以 S (Startup、Source) 开头。就开机过程来说的话,则 S 开头的符号链接文件所指向的 scripts,会在开机期间被执行 (Startup scripts),因而能够启动系统相关服务 (系统服务都是靠这些 scripts 来管理的)。

Tips:假使您已成功进入 runlevel 5,现在又在命令行上执行 "init 3" 来变换成新的 runlevel 时,则当前 runlevel 中的服务 ( 新旧 runlevel 都有启动的服务除外) 会先被停止,接着才启动新的 runlevel 里的服务。也就是说位于 /etc/init.d/rc5.d 目录中,那些以 K 开头的连结档,其指向之 scripts 所管理的服务,会先被终止,接着才启动 /etc/init.d/rc3.d 目录中,以 S 开头的连结档,其指向之 scripts 所管理的服务。
/开机自启动程序原理说明摘自柏青哥的SuSe Linux : http://www.suse.url.tw/sles10/lesson6.htm

其它举例:
创建随系统启动和关闭的链接:
在/etc/rc2.d下加入自动启动链接,命令如下:
ln -s /etc/init.d/start_oracle.sh /etc/rc.d/rc2.d/S16start_oracle
在/etc/rc0.d下加入自动关闭链接,命令如下:
ln -s /etc/init.d/stop_oracle.sh /etc/rc.d/rc2.d/K01stop_oracle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值