Linux 挂载windows 共享目录
前几天公司有个项目,是需要在服务器上运行一段程序,需要读一个资源库。但是资源库这么大,总不能全部传到服务器上去吧,好占地方,于是就想挂载下目录,中间遇到了一些小波折,把自己遇到的问题记录下,也希望能够帮助到其他人
公司的服务器是Ubuntu的,Centos其实类似就不例举啦。废话不多说,下边一一记录
举个栗子:
mount -t cifs -o username=xiaobai,password=123456 //1111 /testdir /usr/picresource
划重点 windows 和 linux 路径之间是有空格的!
如果上边的命令输入后,石沉大海,什么都没有,那么恭喜你,挂载成功了!要是有问题的话…看下我下边遇到的有没有你的情况
解决方法:
去网上找了找,是说 NFS(Network File System)即网络文件系统服务器有多个版本导致的,在挂载的时候指定下nfs的版本就可以,就像这样:
解决方法:
ubuntu
sudo apt-get install cifs-utils
centos
yum install cifs-utils
解决方法:
这个就是windows的用户名、密码、或者是ip写错啦(或者windows共享的目录没有开读写的权限哦)仔细检查下
以上就是我遇到挂载目录时候遇到的问题了,希望能够帮助到遇到同样问题的小伙伴~
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并且内容和刚才输入的一致,则说明挂在成功。
阿里云挂载云盘第一步
在阿里云管理员后台,云盘管理中心挂载好云盘在哪个服务器上面。
登录 ECS管理控制台
在左侧导航栏中,选择 存储 > 云盘
选择地域。
找到 待挂载 云盘,在 操作 列中,选择 更多 > 挂载 。
弹出框中完成设置
目标实例 :只能选择同一可用区的ECS实例。
磁盘随实例释放 :如果选中,当实例释放时,该云盘也会同时释放。
自动快照随磁盘释放 :如果选中,当云盘释放时,该云盘创建的所有自动快照都会一起释放,但手动快照不会释放。建议您不要选择该选项,保留备份数据。
完成设置后,单击 执行挂载 。
image
刷新云盘列表,如果是 使用中 ,表示挂载服务器成功,暂时还不能使用,因为还没分区
和指向路径
数据盘挂载,磁盘分区,关联路径
第一、检查阿里云服务器数据盘情况
利用fdisk -l命令,检查当前VPS的数据硬盘情况
image
这里我们可以看到有100GB数据盘没有挂载,肯定需要利用起来的。
第二、挂载阿里云数据硬盘
输入"fdisk /dev/vdb",然后根据下图的提示,输入n,p,1,回车,回车,wq,保存退出。
20180301163914830png
完毕之后,我们输入
fdisk -l
正常是可以看到100GB已经别分区
第三、格式化分区及挂载目录
格式化挂载数据硬盘分区
mkfsext3 /dev/vdb1
创建目录挂载
如果我们安装的是LNMP/AMH一键包,那默认是在HOME目录下;如果是安装WDCP面板,那需要安装在WWW目录下,我们需要先检查是否有对应的目录,没有需要mkdir创建目录。
我们这边挂载到/mnt目录
echo '/dev/vdb1 /mnt ext3 defaults 0 0' >> /etc/fstab
第四、执行mount挂载操作
mount/dev/vdb1/mnt/data
挂载到新分区
查看分区
执行下面操作
df -h
链接:https://wwwjianshucom/p/fa587bbfbb60
配置开机挂载服务,每次开机都能用nfs
把挂载命令写入到开机自动挂载文件中
/etc/fstab
在客户端编辑 vim /etc/fstab
192168178120:/nfs_file /yu_666
需要挂载的目录写在前边,后面写上即将挂载的位置,文件系统的类型
autofs自动挂载服务
/etc/fstab里面写了太多的挂载内容,开启读取的数据会慢,增加服务器的压力。并且挂载的文件不一定是经常使用,可能是临时使用,没有必要写入到文件当中
如果开机就强制挂载很多内容,但是又不经常使用,会给服务器造成很大的压力,因此一些具有动态特性的文件系统,可以进行动态挂载(比如光盘,软盘,U盘,移动硬盘,NFS,SMB等文件系统)
autofs特点
autofs和mount命令的不同点在于
autofs是一个守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件夹系统,autofs会自动检测该系统是否存在,如果存在则进行挂载。如果用户过了一段时间没有使用该文件系统,autofs自动将其卸载,节省人力维护的成本,以及节省服务器资源
缺点:autofs特点是,当用户请求的时候才挂载文件系统,如果是高并发的业务场景,大量的用户并发访问文件系统,autofs突然进行大量挂载,会给服务器造成很大的压力,因此在一些高并发场景下,宁愿保持持续挂载,也不用autofs
安装autofs工具
yum install autofs -y
修改autofs配置文件
/etc/automaster
看看开机的时候报什么错吧。
另外注意portmap、netfs服务要设成开机启动。
我遇到过一次,开机时netfs报错mount失败,英文报错,大概意思是 不能到达主机
也就是网络问题。
当然开机后网络没问题。开机后输入mount -a 挂全部fstab内容也没问题,要挂的都挂上了。所以主要原因应该是启动时网络没准备好,就开始试图挂载nfs共享,所以无法自动挂载。
可以这样,设个开机启动。命令为mount -a ,挂载fstab内容,但是为了等网络准备好再挂载免得失败,mount前加条命令 sleep 30(睡眠30秒),就成了。
也可以改下netfs的开机启动文件,在monut前加一行睡眠命令,让netfs先等一会再继续执行挂载网络文件系统的行为。
Linux客户端可以直接通过mount命令挂载NFS文件,
如下操作:
[root@linux-a ~]# mkdir /mnt/nsf1 //创建挂载点
[root@linux-a ~]# mount -t nfs 1921680231:/nfs/frank /mnt/nfs1
[root@linux-a ~]# mount | grep nfs
[root@linux-a ~]# umount /mnt/nfs1
通过修改/etc/fstab文件可以实现开机自动挂载nfs目录
[root@linux-b nfs1]# vim /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
1921680231:/nfs/frank /mnt/nfs1 nfs defaults 0 0
以上最后一行是针nfs的自动挂载配置。
VMware可以在虚拟机设置中直接挂载ISO文件,把CDROM设置从物理CDROM选择到使用ISO文件,再选择那个ISO即可。
使用mount XXXISO /mnt -o loop即可将ISO文件挂载至/mnt目录中。
上例/mnt是个例子,要你的linux系统中有此目录才可以,另外,ISO文件也必须位于linux文件系统中的某个目录中,可能你需要带上完整的路径名(如果你并不位于ISO文件所在的目录)。
是这样,不过你可以使用SSH工具,SSH工具更加方便。另外,你也不要把文件上传到/mnt目录中,如果你mount的目标就是mnt目录的话。
0条评论