关于Azure-存储账户-SMB-CIFS文件共享-在Linux系统中的挂载

发布时间 2023-08-21 23:14:17作者: 520_1351

笔者在自己Azure平台创建了一个【标准】性能,即StorageV2类型的存储账户、然后在其下创建了一个文件共享CIFS

注意:标准存储账户中的【文件共享】,只能创建基于 SMB 协议的文件共享

如果要创建NFS文件共享,只能在创建存储账户时,【性能】处选择,高级,文件共享,才能同时支持CIFS和NFS 

这里笔者使用的环境为,标准存储账户中的【SMB文件共享】,存储账户名称为:001blob,最后创建了一个myshare001的文件共享

1、关于Linux挂载连接这个文件共享的方法,其实在Azure中有很好的引导,只需要点开这个文件共享,点连接就可以看到

分别有讲如何在Windows Linux macOS这三种文件系统中的挂载连接方法,这里以Linux为例,会提示可以使用如下脚本

sudo mkdir /mnt/myshare001
if [ ! -d "/etc/smbcredentials" ]; then
sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/001blob.cred" ]; then
    sudo bash -c 'echo "username=001blob" >> /etc/smbcredentials/001blob.cred'
    sudo bash -c 'echo "password=fwxlAIj8cgTQrPC29SvmrN8+Ns8XlsZXXWjmLqRdzJq0YEp+cdvCz3vooHnmCkyQpjk7FZOFEQXQ+ASt7Nza2g==" >> /etc/smbcredentials/001blob.cred'
fi
sudo chmod 600 /etc/smbcredentials/001blob.cred

sudo bash -c 'echo "//001blob.file.core.windows.net/myshare001 /mnt/myshare001 cifs nofail,credentials=/etc/smbcredentials/001blob.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30" >> /etc/fstab'
sudo mount -t cifs //001blob.file.core.windows.net/myshare001 /mnt/myshare001 -o credentials=/etc/smbcredentials/001blob.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30

其实核心总结起来,只需要如下几步:

1、创建/etc/smbcredentials/001blob.cred 凭证文件,注意控制权限 ,里面就2行,一行为用户名,一行为密码

username=001blob
password=fwxlAIj8cgTQrPC29SvmrN8+Ns8XlsZXXWjmLqRdzJq0YEp+cdvCz3vooHnmCkyQpjk7FZOFEQXQ+ASt7Nza2g==

这里的用户名,其实为存储账户的名称,密码实则为【存储账户】的访问密钥中的一个

默认就两个key密钥可用,key1,key2,如果轮换后,一定要注意来更新上面的位置的key密钥信息

2、写入到/etc/fstab末尾新行,内容如下,最后记得进行mount验证

//001blob.file.core.windows.net/myshare001 /mnt/myshare001 cifs nofail,credentials=/etc/smbcredentials/001blob.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30

3、最后说明,本文是假定在 【存储账户】下【网络】-【防火墙和虚拟网络】开启了【公用网络访问-->已从所有网络启用】

如果是正式环境,建议还是控制指定的公网或者指定的虚拟网络访问,甚至只建议【专用终结点连接】,笔者将在后续的文章中讲到

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17647334.html