如何在Linux下挂载NFS网络共享
1 主机安装Cygwin(还有一个http://ftpiijadjp/pub/cygwin/之类的release包),安装release包时,确保勾选安装libbz2_1,sunrpc和nfs-sever,cygrunsrv。
2 安装好后,运行/bin/nfs-server-config脚本脚本运行后,生成export文件。
3 编辑etc/export文件。可分行输入需要挂载的目录,如在根目录下:
/sharefolder [IP/submask] (rw,no_root_squash)
编辑etc/hostsallow, 增添 nfsd: ALL 一行
4 启动NFS服务。
cygrunsrv -S portmap
cygrunsrv -S nfsd
cygrunsrv -S mountd
运行usr/sbin/showmountexe 测试
5 客户机操作:
mount -t nfs -o nolock 192168:/sharefolder /mnt
sharefolder即是NFS服务器上的共享文件夹,挂载点在客户机/mnt目录下
6 测试
cd /mnt
vi testtxt 随便输入内容,然后在主机找到 C:/cygwin/sharefolder,如果发现有testtxt并且内容和刚才输入的一致,则说明挂在成功。
前提说明:
windows主机信息:1921681100 帐号:abc 密码:123 共享文件夹:share
linux主机信息:1921681200 帐号:def 密码:456 共享文件夹:/home/def/share
由于暂时还不会防火墙和SELINUX配置,而下面有些方法中的操作会受到他们的限制,因此先关闭这俩。
关闭防火墙的命令:service iptables stop
关闭SELINUX命令:setenforce 0
一、实现linux和windows之间的文件夹共享
方向:windows访问linux
方法1:使用第三方软件
1、修改配置文件:vi /etc/ssh/sshd_config,主要是把Port这个参数解除注释,其他参数可以根据情况自己修改。
2、重启ssh服务:service sshd restart
3、在windows下安装SSH Secure SHELL,安装成功后有个子程序SSH Secure File Transfer Client,打开后输入:
hostname:1921681200(如果有DNS服务,可以写成linux主机名)
port:22(默认值,可以修改成其他值)
username:abc(也可以是linux下其他帐号)
password:123
连接成功后就可以在windows下向linux上传和下载文件了
方法2:SAMBA共享
1、安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum
yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,命令十分简单:yum install samba,快捷方便的背后离不开程序员的辛苦啊!
2、创建共享文件夹,这里就是mkdir -m 777 /home/def/share
3、修改/etc/samba/smbconf,这里面的参数就比较多,主要是
workgroup = WORKGROUP(这个就是windows工作组模式,还有一种是域模式)
hosts allow = 1921681100(可以放问的IP地址,这里写的时windows地址)
然后在文件的结尾加上
[public](共享名,就是windows访问时会显示的名称)
comment = Public Stuff(注释)
path = /home/def/share(共享名)
public = yes(公开)
writable = yes(可写)
当然这里只是些基础的参数,还有其他的参数根据情况设置,比如会出现乱码,还要指定编码格式。
4、重启smb服务:service smb restart
5、创建samba客户:smbpasswd -a def,回车后会提示输入密码。这个就是将来远程主机登录时需要的密码,这里的def帐号必须时系统已经有的
帐号,没有的话会报错,然后新输的密码就是远程登录密码,这样做的好处就是自己的密码和远程登录的密码分开。
6、windows下连接,启动运行,输入\\1921681200,输入smb帐号密码就可以了
方向:linux访问windows
方法一:挂载共享文件夹
在linux下执行 mount -o username=abc //1921681100/share /mnt/share,回车后要求输入密码,就是windows密码123
老实说这种方法是很好理解的,挂载命令嘛,最简单的语法。但却是让我困惑最深的,因为linux下的分区格式是ext2\3\4,而windows一般使用NTFS格式,这是linux不能识别的,而这里竟然可以挂载,而且还能读出其中的文件。真是太匪夷所思了。
三、实现linux之间的文件夹共享
方法一:挂载
1、在A机上创建共享文件夹:mkdir -m 777 /home/share
2、修改/etc/exports文件,添加一条 /home/share (rw),这条中/home/share指定了共享位置,代表所有主机,也可以单独写IP地址,rw是可读写
3、重启nfs服务:service nfs restart
4、在B机上挂载:mount -t nfs 1921681100:/home/share /mnt/share,回车输入帐号密码就可以了
5、最后就是在B机上验证下是否挂载成功,命令:df
方法二:使用SCP命令传输
这条命令是我昨天刚学到的,很简单的操作 scp /home/share(源) 1921681200:/home/share(目的),回车后要输入密码,具体详见man scp
装个samba
一般来说,安装samba后,有一个smbconf(配置文件)的例子,修改一下就好了。
WINDOWS下的网上邻居使用是NetBIOS协议,LINUX下使用功能强大的SAMBA可以实现与WINDOWS机子共享。下面具体就我的理解具体说一下。
首先当然是你必须安装了SAMBA
#apt-get install samba samba-common smbclient smbfs
其实使用SAMBA分成两个方面,一个是linux机子上的资源给WINDOWS机子浏览,再一个是使用LINUX 机子浏览WINDOWS 的网上邻居。现在假设使用WINDOWS的机子的IP是100010,共享目录是music,用户名是:share,密码是:yeah;使用 LINUX机子的IP是:100020
一 从LINUX上获取WINDOWS文件的基本方法(有3种方法)
1 smbmount---普通用户就可以使用的命令
挂载文件
#smbmount //100010/music /home/user/music -o "username=share,password=yeah"
主意与下面的mount不一样的是-o后面一定要引号
卸载已经挂载的文件
#smbumount /home/user/music
2 mount---超级用户才有的权限,但效果与上面一样
挂载文件
#mount -t smbfs -o username=share,password=yeah //100010/music /home/user/music
卸载文件
#umount /home/user/music
注:以上两个命令挂载要想显示中文,必须添加如下参数
codepage=cp936,iocharset=utf8(与linux机的本地环境一致,如是gb2312,这儿也要写成:iocharset=gb2312 ;codepage要与远程一致,是指定源代码文件的代码页---一个内>部表,操作系统用它将符号(字母、数字和标点)映射为字符编号。如932 代表日本汉字,950代表繁体中文字符集,说明一下就是codepage是cp936,而不是936,否则在有时显示汉字还是乱码。
3 使用smbclient访问Windows资源
它是一个类似于ftp操作方式,通过远程操作的方式进行文件传递的软件。为了获得网络上可以访问的计算机列表,首先需要使用 smbclient来获得一个Windows计算机共享出来的资源,这需要使用-L参数访问IPC
#smbclient -L 1921681150 -N
或者机器名
#smbclient -L hit -N
如果不清楚一个Windows计算机的NetBIOS名字,可以使用nmblookup先来解析NetBIOS名字
#nmblookup hit (若浏览网上邻居用:#nmblookup -T "")
当上面查到资源后,就可以用smbclient登陆了
#smbclient \\hit\music yeah -U share (其中yeah是密码,share是用户名)
执行smbclient命令成功后,进入smbclient环境,出现提示符:smb: >,然后就可以执行和ftp命令中相似的命令:cd, lcd, get ,mget ,put ,mput等,用法就跟FTP一样了。
注:要想使用smbclient来访问windows时,也需要使用UNC来标识Windows资源的位置。此时就需要了解 WindowsUNC在Unix>下进行表示的不同之处。不同之处在于Unix的shell下反斜线为特殊字符,它被定义为转义恢复字符,表示将一些转义字符恢复为其本身字符的意义。因此必须使用两个反斜线才能等同于一个反斜线。因此一个UNC实际使用时应使用双倍的反斜线。
若想使用基于图形的客户端:感觉比较好用的是tksmb和smb4k(KDE)
若只是以上使用不用配置/etc/samba/smbconf,也不用启动 samba 服务,甚至可以不装samba程序
二 WINDOWS机子访问在LINUX上的资源
需要使用两个进程:nmbd smbd, 前者nmbd是提供WINDOWS浏览,后者smbd是针对WINDOWS浏览后的登陆等服务。
首先需要说明的是,当samba 还没有添加用户时,WINDOWS机子是登陆不上来的,所以第一步就是添加用户:
# smbpasswd -a myfirst
需要说明的是这个用户必须是系统用户,否则回提示
Failed to initialise SAM_ACCOUNT for user myfirst Does this user exist in the UNIX password database
Failed to modify password entry for user myfirst
当然可以对用户进行映射,见后面说明。
接着就简单了,就是配置/etc/samba/smbconf,见下面一个配置以及相应说明,拷贝后您只需要稍稍修改一些你自己的信息就可以使用了(参考了前人的说明)
/etc/samba/smbconf文件
## /etc/samba/smbconf配置文件有三个重要的节:[global],[homes],[public]
#Global (全局)参数,该部分设置整个系统的规则,定义了一些公共变量。
[global]
netbios >#定义Windows系统“网上邻居”中所见的机器名。
workgroup = workgroup
#定义主机所在网络上所属的NT域名或者工作组名称
server string = FunField
#对主机的说明信息,缺省是:Samba Server
hosts allow = 1921681 1921683
#它允许设置哪些机器可以访问samba服务器
guest account = nobody
invalid users = root
#定义smb用户名称。
security = user
#定义访问权限。访问权限由低到高有三种:share、user和server。其中share安全级别最低,user模式要求连接时输入用户名和口令
encrypt passwords = true
#设置是否需要加密口令。因为Windows系列默认采用加密口令传输,而Linux默认采用非加密口令传输,为保证smb网络用户的正常登录,在user安全级下设置为加密,在share 安全级下可不设。
smb passwd file = /etc/samba/smbpasswd
#由命令cat /etc/passwd | mksmbpasswdsh > /etc/samba/smbpasswd产生。
interfaces = 192168150/24
#配置smb服务所使用的网卡IP以及子网掩码,如果有两个以上网卡,要全部列出。
name resolve order = host dns bcast
#设定smb服务时,从机器netbios名称到IP地址的解析方式,默认顺序为host lmhosts wins bcast。如果局域网内有DNS,可设置为host dns bcast。
wins support = no
#设置是否有wins支持。
public = yes
#为yes时,“网上邻居”中可见该资源,否则不可见。
browseable = yes
#为yes时,“网上邻居”中可见该资源,否则不可见。
#printing = bsd
# 指定Linux使用哪个打印机守护进程(bsd、sysv、hpux、aix、qnx、plp),同时向samba说明命令lpr和lpq的缺省值。
#printcap ># 定义了打印配置文件所处的位置。
load printers = no
# 表明是否加载printcap 定义的所有打印机以供浏览。
log file = /var/log/samba/log%m
# 定义日志文件
max log 'size' = 1000
#日志文件最大1000k (单位是KB)
username map = /etc/samba/smbuser
#允许管理员指定一个映射文件,该文件包含了在客户机和服务器之间进行用户映射的信息。 用户映射经常在windows 和linux 主机间进行。 两个系统拥有不同的用户账号,用户映射的目的是将不同的用户映射成为一个用户,便于共享文件。
##
[homes]
#该部分通常定义了Linux机器上共享的目录资源,其名字可以由用户确定。段中的设置控制了每一个用户目录的共享权限。
comment = Home Directories
#设定在浏览本机资源时,出现在指定资源旁边的字符串。
browseable = yes
#控制一项服务是否能够出现在网上邻居中,no意味着这个目录将在浏览时显示为要验证的用户名称,yes则显示 homes 和要验证的用户名称的共享目录。
writable = yes
#控制是否允许通过验证的用户对主目录有写入的权限,但最终取决于该目录的 Unix 权限。无论 Unix 的权限怎样, 设置 writable = no 后, 主目录只能是只读的。
create mask = 0700
directory mask = 0700
#若上面是可写的,则设置写文件和目录时的属性
##
[public]
#用来指定某一特定用户组或者用户拥有访问权限的目录配置分,配置共享目录部分
comment = Public Stuff
# 说明部分
path = /home/samba
#共享的Linux目录
writable = no
#写权限
printable = no
#打印权限
用于用户映射的文件/etc/samba/smbuser
# smbconf中全局参数 “username map” 指定的映射文件
root = admin administrator
#Map Windows admin to root
hawk = girl
#Map the member of girl to hawk
snake = boy
# 等号左边是单独的Linux账号,等号右边是要映射的账号列表。服务器逐行分析映射文件,如果提供的账号和某行有右侧列表中的账号匹配,就把它替换为等号左边的账号。
我是这么理解的,不知道对不对。我们现在所说的samba服务器,是有一个samba项目小组在linux下实现了SMB/CIFS协议,也因此windows和linux才实现了文件互访,在此之前是不能互通的。因为,SMB/CIFS协议在最开始的时候,是微软的私有协议,并不能和其他操作系统互通的。所以,我觉得,samba服务是属于linux的,windows下面没有samba服务这个概念,但是却依然有文件共享这个功能,比如,我们所熟悉的网上邻居就是SMB/CIFS这两个协议的典型应用。所以如果你想在windows下面搭建samba服务器的效果,那么其实很简单,只需要将某一个文件夹共享,就可以了。这样linux下通过mount等命令就可以访问了。 例如,你的windows的共享名是share, ip地址是19216812,用户名是administrator,密码是123,想要挂载到linux的/mnt目录中,使用以下命令:
mount -o username=administrator //19216812/share /mnt
回车后输入密码,就可以了
您好,HyperV虚拟机和其他的几类(virtualBox、vmvare稍有不同),它没有提供相关的插件去实现文件共享。
通过一些服务器的知识和技巧同样也能实现文件共享。首先,需要解决网络问题,无论是物理桥接还是NAT转换,都需要有一个主机能和虚拟机通过网络通信的前提。
接下来我们可以通过文件夹共享实现,文件夹共享是基于smaba协议的,通过在linux下搭建smaba服务器或者直接在windows主机开启,就可以实现文件夹共享啦。具体信息可以参考《Linux就该这么学》第11章。
如果是图形化界面的用户,可以直接通过windows配置共享文件夹,在linux的文件查看器下,可选择访问远程服务器,输入正确的地址及身份信息即可访问。
12并行技术
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2使用MPICH构建一个四节点的集群系统
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
21
所需设备
1)4台采用Pentium
II处理器的PC机,每台配
置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器。
2)5块100M快速以太网卡,如SMC
9332
EtherPower
10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接。)
3)5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线
4)1个快速以太网(100BASE-Tx)的集线器或交换机
5)1张Linux安装盘
22
构建说明
对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力。如果是这样,请找一些有经验的专业人士寻求帮助。
1
准备好要使用的采用Pentium
II处理器的PC机。确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的
PC机上安装上一块快速以太网卡。当然别忘了要加上附加的内存。确定完成后盖上机箱,接上电源。
2
使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上。使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源。
3
使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为19216811、19216812、19216813、19216814。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。
4当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:
19216811
node1
server
19216812
node2
19216813
node3
19216814
node4
编辑每台机器的/etc/hostsequiv文件,使其包含以下几行:
node1
node2
node3
node4
$p#
以下的这些配置是为了让其能使用MPICH’s
p4策略去执行分布式的并行处理应用。
1
在服务器节点
,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:
/mirror
node1(rw)
node2(rw)
node3(rw)
node4(rw)
2
在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:
server:/mirror
/mirror
nfs
rw,bg,soft
0
0
3
/mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。
4
在服务器节点上,安装MPICH。MPICH的文档可在
5任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如
/mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4
MPI策略运行MPI程序。
0条评论