linux下连接盘阵的方法介绍(附图)
- 格式:pdf
- 大小:91.36 KB
- 文档页数:4
Linux系统如何挂载远程服务器共享分区简介:Linux中一切皆文件。
文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。
这些文件通过若干设备铺展开。
命令mount(挂载)可以把设备里的文件树连接到linux系统的文件树上,也就是说通过此命令可以把新设备加载到linux系统中。
Linux系统挂载的协议有CIFS和NFS两种,其中CIFS,是微软提出的,全称叫通用internet文件共享,它是一种协议。
NFS,网络文件共享,也是一种协议。
那两者之间有什么区别呢?一句话,CIFS用于UNIX和windows间共享,而NFS用于UNIX和UNIX之间共享。
在局域网存储NAS上启用CIFS/NFS协议,这样,就能使用CIFS/NFS协议进行访问。
本文主要介绍在CentOS中如何通过CIFS协议挂载共享分区,并对分区进行读写操作测试。
详细内容请参考下文。
涉及的内容包括:●确定挂载分区名称:系统中新建一个挂载分区ftptemp,用作挂载点目录。
●确定远程挂载点:NAS中共享文件夹/ftptemp。
一、登陆Linux系统1、使用root用户登录系统2、新建挂载目录执行指令# mkdir /usr/local/ftptemp新建挂载目录二、挂载NAS共享目录1、使用CIFS协议挂载NAS共享目录执行指令# mount -t cifs -o"rw,dir_mode=0644,file_mode=0644,username=username,password =password,vers=2.0" //172.*.*.*/ftptemp /usr/local/ftptemp 执行指令# mount -t cifs -o"rw,dir_mode=0644,file_mode=0644,username=admin,password=Hu ilai622226,vers=2.0" //172.16.23.240/szyd-file/usr/local/szydfile2、查看挂载目录的存储情况3、设置开机自动挂载如果需要开启自动 mount,需要修改/etc/fstab行尾添加//172.*.*.*/ftptemp /usr/local/ftptemp cifs defaults,rw,dir_mode=0644,file_mode=0644,username=username, password=password,vers=2.0 0 0三、同步服务器目录中的文件到NAS共享目录1、编写cp.sh脚本执行指令# vim cp.sh将/attachment/archives/ftptemp/中的所有文件同步到NAS中的/usr/local/ftptemp/中2、编写crontab执行计划执行指令# crontab -e每五分钟执行一次同步指令3、编写crontab执行计划执行指令# tail -n 10 /var/log/cron查看日志备注一:linux日志文件说明/var/log/secure 与安全相关的日志信息/var/log/messages 系统启动后的信息和错误日志/var/log/maillog 与邮件相关的日志信息/var/log/cron 与定时任务相关的日志信息/var/log/spooler 与uucp和news设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件备注二:最常用的一种日志查看方式tailLinux查看日志的命令有多种:tail、cat、tac、head、echo等,这里只介绍tail使用方法。
在Linux操作系统上玩转磁盘阵列在Linux操作系统上玩转磁盘阵列大部分用户都会担心,万一硬盘发生故障,数据丢失咱们办呢?其实现在不少用户由于硬盘容量等方面的限制,都会在主机上挂有不止一块的硬盘。
此时若把这些硬盘组成一个磁盘阵列,那么用户就可以高枕无忧了。
磁盘阵列可以将多个硬盘组成一个虚拟的硬盘。
在操作上,用户会觉得跟使用单一硬盘没有什么不同。
但是在实际存储数据过程中,磁盘阵列是将数据分别保存在不同的硬盘上,以提高数据的安全性。
笔者今天将跟大家说说如何在Linux环境下玩转磁盘阵列。
一、使用磁盘阵列可以带来哪些好处?在具体如何配置磁盘阵列之前,笔者要先给大家介绍一下利用磁盘阵列的好处。
先给大家一点动力,让大家能够继续看下面的内容。
第一个好处是磁盘阵列可以提高数据存取的效率。
硬盘其实就好像是一个盒子,其内部空间很大,但是出入的口子很小。
当要把大量数据保存在这个盒子的时候,只有通过这个小小的盒子来保存数据。
其存取的效率明显不是很高。
但是,如果采用磁盘阵列的话,当系统向硬盘中写入数据的时候,会先把大块的数据分割成多个小区快,并同时写到不同的硬盘中。
这就好像在一个盒子中开了多个出入孔,同时往这个孔中加入数据一样,可以提高硬盘的写入速度。
同理,在读取的时候,也可以同时从不同的硬盘中读取,提高数据读取的速度。
所以磁盘阵列可以提高数据的存储效率。
为此,在一些服务器上部署磁盘阵列,可以提高服务器的应用性能。
第二个好处是可以整合多块硬盘。
多数的Linux系统管理员也许都遇到过这种问题。
一块硬盘用着用着,突然空间不够了。
此时该如何处理呢?其实,管理员不需要更换硬盘。
而是可以把多个小容量的硬盘整合起来,组合成一个容量比较大的虚拟硬盘。
因为磁盘阵列操作起来,就好像跟一块硬盘一样,所以不会给用户的工作带来不利的影响。
所以把多块闲置的硬盘利用磁盘阵列组合成一块虚拟硬盘,是解决磁盘容量不足的一个不错的方法。
第三个好处是可以提供比较高的安全性。
1.在linux机器上使用磁阵当磁阵配置完毕后,该磁阵在linux操作系统看来,就是一个磁盘,即外接磁阵或内置磁盘在linux机器上的使用是完全相同的。
在/dev目录下应能看见该磁阵的设备文件。
例如,在linux 机器上原只有一个SCSI磁盘/dev/sda,现在增加了一个SCSI磁阵dev/sdb,这个/dev/sdb设备文件就是已同linux机器连接的磁阵。
如果看不到该设备文件,则需查找原因。
如果linux机器不在运行业务,应重启机器。
要能够使用磁阵(磁盘),必须要经过3个步骤:磁盘分区,分区格式化,文件系统挂载到某一目录。
(1)磁盘分区先检查所有linux已识别的所有磁盘的状态:[root@ftpnode2 ~]# fdisk -lDisk /dev/sda: 146.6 GB, 146685296640 bytes255 heads, 63 sectors/track, 17833 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83Linux/dev/sda2 14 17833 143139150 8eLinux LVMDisk /dev/sdb: 1796.7 GB, 1796776919040 bytes255 heads, 63 sectors/track, 218445 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesn't contain a valid partition table磁阵/dev/sdb还没有分区,需要对其进行分区。
本操作因为要把整个磁阵的容量都放在一个目录下使用,所以只配置一个分区。
置如果需要转载,请注明出处,谢谢!!RAID(Redundant Array of Independent Disks)是廉价磁盘冗余阵列技术的英文缩写,它的原理就是通过多个磁盘并行运行来提高整个计算机的I/O存储性能。
RAID的评判标准有如下三个:①速度:读写速度的提升②磁盘使用率:多磁盘的空间使用率③冗余性:能够支持几块磁盘损坏而不丢失数据所以,基于以上三个评判标准,RAID分为很多种类,称之为RAID级别,现代RAID一共有7个级别,分别是RAID0~RAID6,但是常用的RAID级别主要是以下四种:①RAID0:提高读写性能②RAID1:提高读写性能、冗余性③RAID5:提高读写性能、冗余性(允许1块硬盘发生故障)④RAID6:提高读写性能、冗余性(运行2块硬盘发生故障)下面我们就基于RAID的三个评判标准来看看常用的这四个RAID级别各自的特点1.RAID0RAID的工作原理就是通过多块硬盘并行运行来提高整个计算机的I/O存储性能。
所以如果是RAID0这个级别,我们至少需要2块硬盘,在读写数据时,RAID0是通过将数据分开读写到多块硬盘的方式来提高读写性能的。
我们可以通过下图来看看RAID0的工作原理RAID0至少需要两块硬盘,当使用RAID0时,我们在读写数据的时候是将数据分开读写到多块硬盘上,所以其读写速度是最快的,但是因为多块硬盘上保存了数据的一部分,所以当一块硬盘发生损坏时,其整个RAID的数据也就损坏了。
①空间利用率:所有硬盘空间之和②性能:所有硬盘读写速度之和③冗余能力:无2.RAID1RAID1也是至少需要2块硬盘,在写数据的时候就不同于RAID0了,RAID1在写数据时会将数据复制到多块硬盘上,即每块硬盘都会保存该数据的一个备份,在读数据时,以提高冗余性。
读的时候同时从多块硬盘上读取数据,以提高读的性能。
①空间利用率:所有磁盘中最小的那块(其实在使用RAID时,最好每块硬盘的大小及型号都一样)②性能:读性能是所有硬盘之和,写性能有所减弱③冗余能力:只要有一块硬盘正常,数据就正常3.RAID5RAID5至少需要3块硬盘,RAID5与RAID0类似,读写数据的时候会将数据分布的读写到所有硬盘上。
位示图方法模拟磁盘块的分配与回收题目的描述:1.要求在LINUX环境用C语言编程2.假设有一个500行500列的矩阵来表示磁盘块,状态位是1表示已经分配出去,状态位是0表示空闲块3.给这个矩阵用随机函数初始化,让其布满0和14.写程序统计有多少个空闲块?5.有一个程序文件要申请20个磁盘块,能否分配?如果可以分配,给出分配块的块号地址,块号=字号×500+位号,并修改位示图,块号从0开始编址。
6.要回收第300块和第580块,如何实现?给出位示图修改的程序在linux系统中,我想很多的朋友使用的是虚拟机,这样的话,当我们将行和列都设置为500x500的话,操作就不是很方便了,所以呢,小Q就将其修改为10X10的来演示就好了,其中的算法和思想是完全相同的。
另外一点,必须声明,在linux中使用vi编辑器进行C语言的编程,其中是不允许含有中文的,即使是中文的注释也不行。
为了,朋友们好理解,我再这里写注释的时候使用的是中文的注释,但是你在使用的时候一定要记住不能将其放入到linux环境下的vi编辑器中。
好了,我想建立文件什么的我就不用讲了,下面看下,如何解决上述的问题吧,就算是抛砖引玉吧。
/*使用变量:row表示行,col表示列*/#include <stdio.h>#include <sys/time.h>#include <fcntl.h>#define row 10#define col 10void init_random (){unsigned int ticks;struct timeval tv;int fd;gettimeofday (&tv, NULL);ticks = _sec + _usec;fd = open ("/dev/urandom", O_RDONLY);if (fd > 0){unsigned int r;int i;for (i = 0; i < 512; i++){read (fd, &r, sizeof (r));ticks += r;}close (fd);}srand (ticks);//printf("init finished ");}unsigned int new_rand (){int fd;unsigned int n = 0;fd = open ("/dev/urandom", O_RDONLY);if (fd > 0){read (fd, &n, sizeof (n));}close (fd);return n;}int statistics_free(unsigned int wst[][]){int sum_free=0;//记录空闲块个数,并初始化int i_row=0;int i_col=0;for(;i_row<row;i_row++)for(i_col=0;i_col<col;i_col++){if(wst[i_row][i_col]==0)sum_free++;}return sum_free;}void ask_space(unsigned int wst[][],int ask) {int i_row=0;int i_col=0;int t_row=0;int t_col=0;if(ask>statistics_free(wst)){printf("The space don't enough");return;}printf("The space address like this:\n");for(;i_row<row;i_row++)for(i_col=0;i_col<col;i_col++){int address=0;if(ask>0&&wst[i_row][i_col]==0){wst[i_row][i_col]=1;ask--;//计算当前的分配块号的地址address=i_row*row+i_col;printf("%d ",address);}else if(ask==0){printf("\nThe ask had request,the array is changed:\n");for(t_row=0;t_row<row;t_row++){for(t_col=0;t_col<col;t_col++)printf("%d ",wst[t_row][t_col]);printf("\n");}return;}}}void recover_space(unsigned int wst[row][col],int recover_number){int r_row=0;int r_col=0;r_row=recover_number/col;r_col=recover_number%col;if(r_row>row-1){printf("Your ask to free space don't find.");return;}wst[t_row][t_col]=0;printf("\nThe ask had request,the array is changed:\n");for(r_row=0;r_row<row;r_row++){for(r_col=0;r_col<col;r_col++)printf("%d ",wst[r_row][r_col]);printf("\n");}printf("\n");}int main (){//int n, i;//init_random ();//调用内部的接口进行设置随机种子。
简单介绍一下在linux系统下连接磁盘阵列的方法,使用的是RedHat linux。
将磁盘阵列与主机连接好后,首先要查看设备
[root@localhost ~]# cat /proc/scsi/scsi
找到了两个,下面的是自己的硬盘,上面的是Infortrend公司的一台U12U-G4020。
找到了设备,下一步我们来查看一下硬盘
[root@localhost ~]# fdisk –l
下面分好区的是主机上的硬盘,设备/dev/sda是我们要连接的那台U12U-G4020磁盘阵列,下面我们就要对磁盘阵列进行分区及写入文件系统
[root@localhost ~]# fdisk /dev/sda
输入m显示help菜单
Command (m for help): m
写分区表
Command (m for help): p
添加一个新的分区,分区号为1
写入分区表后退出
Command (m for help): w
下面要加载文件系统,选择ext3文件系统进行加载[root@localhost ~]# mkfs.ext3 /dev/sda
文件系统已经写好了,下面我们建一个文件夹把盘阵挂载上去,文件夹建在mnt下,名为sda
[root@localhost ~]# mkdir /mnt/sda
[root@localhost ~]# mount /dev/sda /mnt/sda
现在已经挂载好了,磁盘阵列可以开始使用了。
挂载iscsi设备的方法有些不同,也做一下简单介绍。
如果没有安装iscsi-initiator首先要下载适合系统内核的iscsi-initiator-utils
[root@localhost ~]# yum install iscsi-initiator-utils
下载好后可寻找iscsi设备,下面显示的为找到的设备
[root@localhost ~]# iscsiadm -m discovery -t st -p 172.16.60.147
172.16.60.147:3260,1 rtrend:raid.sn7051919.00
在设备ip后所加的为上面查到的设备iqn号
[root@localhost ~]# iscsiadm -m node -p 172.16.60.147 -T iqn.2002-
rtrend:raid.sn7051919.00 -l
此时,重启iscsi服务
[root@localhost ~]# /etc/init.d/iscsi restart
Stopping iSCSI initiator service: [ OK ]
Starting iSCSI initiator service: [ OK ]
此时查看磁盘即可发现iscsi设备
[root@localhost ~]# fdisk -l
Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1020 8193118+ 7 HPFS/NTFS
/dev/hda2 1021 6665 45343462+ f W95 Ext'd (LBA) /dev/hda3 6666 7296 5068507+ 12 Compaq diagnostics /dev/hda5 1021 3570 20482843+ 7 HPFS/NTFS
/dev/hda6 3571 4590 8193118+ 7 HPFS/NTFS
/dev/hda7 4591 4603 104391 83 Linux
/dev/hda8 5690 6665 7839688+ 83 Linux
/dev/hda9 4604 4667 514048+ 82 Linux swap / Solaris /dev/hda10 4668 5689 8209183+ 83 Linux
Partition table entries are not in disk order
Disk /dev/sda: 499.5 GB, 499570966528 bytes
255 heads, 63 sectors/track, 60736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 60735 487853856 7 HPFS/NTFS
下面的操作即与其他设备的操作相同,不再重复。
Leon Lee。