Archive for March, 2015

Linux系统下挂载卸载新硬盘的方法

VMware虚拟机中Linux系统下挂载卸载新硬盘的方法
装载

1、启动vm选择vm->Settings,按向导添加一块SCSI磁盘进入Linux系统
2、 fdisk -l 会看到有一块新的设置,如果你先前有一块硬盘(sda1, sda3…),新加的这块应该是(/dev/sdb)。 (如果添加的第二块硬盘是IDE硬盘,应该看到hdb,如果是SCSI硬盘,看到的就是应该sdb)
[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

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

3、分区
[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. 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 1044.
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)

Ukaz (m za pomoč): m ##在这里按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 ##:l是列出分区类型以供我们设置相应分区的类型
m print this menu
n add a new partition ##添加一个分区
o create a new empty DOS partition table
p print the partition table ##p列出分区表
q quit without saving changes ##不保存退出
s create a new empty Sun disklabel
t change a partition’s system id ##t 改变分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit ##把分区表写入硬盘并退出
x extra functionality (experts only) ##扩展应用专家功能

Ukaz (m za pomoč): n
Command action
e extended ##扩展分区
p primary partition (1-4) ##选p建主分区
p
Partition number (1-4): 1
First cylinder (1-17849, privzeto 1): ##这个就是分区的Start 值这里最好直接按回车如果你输入了一个非默认的数字会造成空间浪费
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-17849, privzeto 17849): 8920
Using default value 500
##这个是定义分区大小的,+200M 就是大小为200M当然你也可以根据上面提示的单位cylinder的大小来算然后来指定 End的数值在fdisk –l命令中可以看到Units = cylinders of 16065 * 512 = 8225280 bytes这个就是单位cylinder的大小我这里选的End的数值是8920正好是总大小的一半,71G左右

##然后再来建一个主分区
Ukaz (m za pomoč): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (8921-17849, privzeto 8921):8921
Using default value 8921
Last cylinder or +size or +sizeM or +sizeK (8921-17849, privzeto 17849):17849
Using default value 17849
##最后保存并退出切记一定要保存不然不会生效的
Ukaz (m za pomoč): w
The partition table has been altered!

Klicanje ioctl() za ponovno branje tabele particij.
Sinhronizacija diskov.
##使用fdisk –l命令来查看磁盘状况
[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 8920 71649868+ 83 Linux
/dev/sdb2 8921 17849 71722192+ 83 Linux
##磁盘/dev/sdb已经被划分为2个分区每个分区大小大概是71G左右

##在挂载文件系统之前需要将/dev/sdb1和/dev/sdb2重新用mkfs -t ext3 命令格式化一下否则在挂载时会报错
4、格式化分区使用mkfs.ext3 /dev/sdb命令格式化磁盘 注也可以使用mkfs -t ext3 /dev/sdb命令
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 ##指将该磁盘格式化成ext3文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096474 blocks
104823 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: Končano
Creating journal (32768 blocks): Končano
Writing superblocks and filesystem accounting information: Končano

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

补充:挂载
挂载文件系统目前有两种方法
一是通过 mount 来挂载,使用mount挂载系统一旦系统重启之后就需要重新挂载
二是通过/etc/fstab文件来开机自动挂载
我把/dev/sdb1挂载到/test下
[root@localhost ~]# mkdir /test ## 首先建立挂载的目录test
(ali[root@localhost ~]# cd /
[root@localhost ~]# mkdir test
)
[root@localhost ~]# df –h ##挂载前的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
[root@localhost ~]# mount /dev/sdb1 /test
[root@localhost ~]# df –h ##挂载后的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
/dev/sdb1 7.9G 147M 7.4G 2% /test
6、通过/etc/fstab文件来开机自动挂载(不然重启电脑后系统将不会保存之前的挂载操作):
[root@localhost ~]# vi /etc /fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/dev/sdb1 /test ext3 defaults 1 1
/dev/sdb2 /test ext3 defaults 1 1
# Beginning of the block added by the VMware software
.host:/ /mnt/hgfs vmhgfs defaults,ttl=5 0 0
# End of the block added by the VMware software
第一字段设备名在这里表示是文件系统有时我们把挂载文件系统也说成挂载分区
第二字段文件系统的挂载点
第三字段文件系统类型
第四字段mount 命令的选项和mount 中的-o 同理defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async
第五字段表示文件系统是否需要dump 备份,1是需要,0 是不需要
第六字段是否在系统启动时通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过

卸载
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm

 

补充知识:
1. mount可以用来挂载什么:
不同的操作系统使用不同的文件系统格式MS-DOS支持FAT16文件系统Windows98支持FAT16FAT32文件系 统WindowsNT支持FAT16NTFS文件系统Windows2000则支持FAT16FAT32NTFS三种文件系统格式现在的xp 可以支持FAT32,NTFS现在最新版本的windows 7 引入了新的WinFS文件系统而 Linux差不多支持所有的文件系统格式但一般使用ext2或ext3文件系统很多用户使用的是windows操作系统如果想在运行的Linux下 访问其它文件系统中的资源的话就要用Linux mount命令来实现
2. mount使用格式
mount命令[-参数] [设备名称] [挂载点]
说明
[挂载点]必须是一个已经存在的目录这个目录可以不为空但挂载后这个目录下以前的内容将不可用umount以后会恢复正常
[设备名称] 可以是一个分区一个usb设备光驱软盘网络共享等
常见参数说明
Mount 挂载文件系统使用帮助
参数 说明
挂载指定的设备类型adfs, affs, autofs, coda, coherent, cramfs,

devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix,

msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs,

romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs,

xiafs

一般文件类型可以不需要指定就可以有相同自动检测(adfs, bfs,

cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs,

qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系统),

果探测失败就将访问/etc/filesystems以指定文件系统探测

如果清楚文件系统最好指定具体类型探测错误将带来灾难性


多个文件系统可以用“”分割开来.

-t vfstype mount -a -t nomsdos,ext
将挂载fstab文件指定所有的文件系统除了类型为 msdos 和 ext 的

那一些
常见文件类型
1. ext2 linux目前常用的文件系统
2. msdos MS-DOS的fat就是fat16 vfat
3. windows98常用的fat32
4. nfs 网络文件系统
5. smbfs windows共享系统
6. iso9660 CD-ROM光盘标准文件系统
7. ntfs windows NT/2000/XP的文件系统
8. auto 自动检测文件系统
指定挂载系统选项多个选项可以用”,”分割.某些选项只有在出现在文件 /etc/fstab 中时才有意义下列选项可以用于任何要挂载的文件系统(但是并非所有文件系统都关心它们例如选项 sync 在今天只对 ext2ext3 和 ufs 有效)
选项 说明
async 所有对文件系统的 I/O 操作都必须是异步完成的
atime 每次存取时更新 inode 存取时间这是默认选项
auto 可以在使用 -a 选项时被挂载
defaults 包含以下选项rw, suid, dev, exec, auto, nouser,async.
dev 解析文件系统中的字符设备或块设备
exec 允许执行二进制文件
_netdev 文件系统居于需要网络连接的设备上,避免断网下不断挂载耗资源
noatime 不更新文件系统的inode存取时间(提升新闻服务器的速度)
noauto 只能被显式地挂载,-a不能使它挂载
nodev 不解析文件系统中的字符设备或块设备
noexec 不允许执行被加载的文件系统中的任何二进制文件
nosuid 不允许set-user-identifier 或set-group-identifier位起作用
nouser 禁止普通的挂载文件系统(默认)
remount 试图重新挂载一个已经挂载的文件系统通常用来改变挂载标记如由只读挂载改成可读写的
ro 以只读方式挂载
rw 以读写方式挂载
suid 允许set-user-identifier 或set-group-identifier位起作用
-o options sync 以同步方式进行I/O操作突然断电不会掉资料但加重磁盘负担
dirsync 所有对文件系统内目录的更新应当是同步完成的,影响下列系统调用creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename
user 允许普通的用户挂载文件系统,挂载者的用户名被写入mtab从而使他可以再次卸载文件系统这个选项暗含了选项noexec,nosuid, 以及 nodev.
users 允许每个用户挂载卸载文件系统
codepage codepage=XXX代码页
iocharset iocharset=XXX 字符集
loop 挂载回旋设备 经常挂载iso文件用到
username username=user 访问设备的用户名
password password=pass 访问设备的密码
以下参数只对特殊文件系统有用
uid/gid uid=value 和 gid=value 以特殊用户及组 挂载系统
ownmask ownmask=value owner权限的权限掩码
othmask othmask=value othmask权限的权限掩码
不同文件系统所支持的属性不一定系统可以查找相关资料
-a 搜索/etc/fstab文件中满足条件的文件系统进行挂载操作
oblika: mount -a -t type -o options 不需要指定设备/目录
-f 测试mount系统只检查设备和目录并不真正挂载文件系统
-n 不把挂载的记录记录在/etc/mtab 文件中
-r 将文件系统安装为只读(-o ro)
-w 将文件系统安装为可读写(-o rw)
-L label 挂载具有指定卷标 label 的分区
-w 将文件系统安装为可读写(-o rw)
-v 显示详细的挂载进度
-l 列出所有已经挂载的文件系统列表

bind 将文件层次的一部分重新挂载到其他地方.只挂接单一的文件系统,
如果目录有其它文件系统将不能挂载如果需要都挂载可以用:–rbind 参数
mountbind olddir newdir 2个目录可以访问系统内容
move 将一个目录移到另外地方,mountmove olddir newdir
-h 显示帮助
-V 显示版本

3. 常见分区加载方法
mount挂载iso文件
#mkdir /mnt/iso1
#mount –o loop linuxsetup.iso /mnt/iso1
在linux 不需要虚拟光驱就可以直接读取iso文件了
mount挂载光驱系统
一般来说CDROM的设备文件是/dev/hdc,使用方法:
#mkdir /mnt/cdrom
#mount /dev/hdc /mnt/cdrom –o iocharset=cp936
默认不指定光驱系统可以自动搜索得到,将编码指定为中文
mount挂载软驱
# mkdir /mnt/floppy
# mount /dev/fd0 /mnt/floppy
默认不指定文件系统可以自动搜索得到
mount挂载windows共享文件(samba)
#mkdir /mnt/winshare
#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare
指定访问共享的用户名密码codepage指定编码与iocharset同意义这里的windows 系统是中文简体
codepage指定文件系统的代码页简体中文中文代码是936iocharset指定字符集简体中文一般用cp936或gb2312
mount挂载u盘
如果计算机没有其它SCSI设备和usb外设的情况下插入的U盘的设备路径是 /dev/sda1用命令
#mkdir /mnt/upan
#mount /dev/sda1 /mnt/upan
挂载即可
mount挂载nfs系统
与windows共享连接差不多需要正确配置服务端的nfs服务然后通过客户端的showmount -e 192.168.0.30 可以查看连接
mount -t nfs 192.168.0.30:/tmp /mnt/nfs
umount卸载文件系统
umount dir
如上面umout /mnt/upan或者umount /dev/sdb1

Komentarji

XenServer 创建SR存储与挂载本地ISO文件

SSH登录Xenserver

1) 查看卷组信息:
# vgdisplay

2) 记下VGname:
VG_XenStorage-a009e816-aa69-b507-71bf-b89409c63793

3) 创建逻辑卷分配大小与命名并格式化:
# lvcreate -L 20G -n iso VG_XenStorage-a009e816-aa69-b507-71bf-b89409c63793
# mkfs.ext3 /dev/VG_XenStorage-a009e816-aa69-b507-71bf-b89409c63793/iso

5) 创建本地挂载目录
# mkdir /iso

6) 编辑/etc/fstab设置自动挂载逻辑卷
# vi /etc /fstab

添加以下内容
/dev/VG_XenStorage-a009e816-aa69-b507-71bf-b89409c63793/iso /iso ext3 defaults 0 0

7) 挂载逻辑卷
# mount /iso

8) 创建xenserver本地iso库(SR存储库)
# xe sr-create name-label=iso type=iso device-config:location=/iso device-config:legacy_mode=true contente-type=iso

9) Xenserver挂载iso
# xe-mount-iso-sr /iso -o bind

这一过程就完成了cd /iso wegt ISO系统文件
之后在创建虚拟机(VM)在安装介质那过程就可以先择对应挂载的iso安装即可

#xe-toolstack-restart

Komentarji