次のコマンドでマウントしようとすると:
mount -v -t cifs //<storageaccount>.file.core.windows.net/<sharename> <localfolder> -o username=<myuser>,password=<storageaccountkey>,dir_mode=0777,file_mode=0777,vers=3.0
Azure Ubuntu VMまたは同等のコマンドを使用するWindowsマシンから実行すると、問題なく動作します。
Linuxボックスで同じコマンドを実行しようとすると、次のエラーが発生します。
マウントエラー(13):権限が拒否されました
そして、これはdmesgから:
[9421.865985]ステータスコードが0xc0000022を返しましたSTATUS_ACCESS_DENIED
[9421.865994] CIFS VFS:SessSetupの送信エラー= -13
[9421.866098] CIFS VFS:cifs_mountが失敗しました(戻りコード= -13)
VMと同じバージョンの[〜#〜] cifs [〜#〜]があります:6.4。
カーネル(4.4.21-gentoo)でSMB2-SMB3-SMB3.1.1(実験的)を有効にしました。
私はsambaもインストールしていますが(smbclientでも機能しません)、それらが無関係であることを理解しています。
残念ながら、まだできません。 Atmは、Azure Datacenterの外部にマウントする場合、Windows 8、10およびWindow Server 2012(R2)のみをサポートします。
Linux SMBクライアントはまだ暗号化をサポートしていないため、Linuxからファイル共有をマウントするには、クライアントがファイル共有と同じAzureリージョンにある必要があります。ただし、Linuxの暗号化サポートはSMB機能を担当するLinux開発者のロードマップ。将来的に暗号化をサポートするLinuxディストリビューションは、どこからでもAzureファイル共有をマウントできるようになります。
より詳しい情報:
https://Azure.Microsoft.com/en-us/documentation/articles/storage-how-to-use-files-linux/#overview
この作業を行うには、Windowsベースの仮想マシンを起動することをお勧めします。 Windowsで信頼できるNFSサーバー/クライアントが必要な場合、Windowsで別の話をしています。
Smbclientで動作しますか?
これは私にとっては機能しますが、「mount -t cifs -overs = 3.0」...は機能しません。
smbclient //foo.file.core.windows.net/test -mSMB3 -e -Ufoo%longkeyhere==
これが私の場合です...
Azureで試したとき(VMはAzureにあり、私のストレージアカウントも同じリージョンにあります)SMB 3.0、エラーですが、SMBバージョンを2.1に変更すると、成功しました。以下の例を参照してください。
例えば:
Sudo mount -t cifs //storageaccountname.file.core.windows.net/shared /mnt/mount -o vers=3.0,username=xxxxxxx,password=xxxxxxxx,dir_mode=0777,file_mode=0777
結果:
マウントエラー(11):リソースが一時的に利用できませんmount.cifs(8)のマニュアルページを参照してください(例:man mount.cifs)
Sudo mount -t cifs //storageaccountname.file.core.windows.net/shared /mnt/mount -o vers=2.1,username=xxxxxxx,password=xxxxxxxx,dir_mode=0777,file_mode=0777
結果:
正常にマウントされました
最近、同じ問題に直面していました。 Azure Linux VMにAzureファイルサービスをマウントしようとしました。複数回試行した後、マウントされました。
最後の試み(RHEL 7.4)では、カーネルをアップグレードし、Samba-client、samba-client-libsを追加しました。
yum install kernel-3.10.0-862.el7.x86_64 yum install samba-client samba-client-libs
問題はどちらかであると私は思います、それはcifs-utilではなくsambaクライアントを使用したか、カーネルバージョンにはいくつかのバグがありませんでした。
あなたの説明によると、私はそれをもう一度テストします。残念ながら、Azure VMの外部にファイル共有をマウントすることはできません。コマンドを使用して、VMのインストール済みパッケージとOSのカーネルを確認できます。
VMのパッケージとOSのカーネルは同じですが、オンプレミスVMにAzure File Shareをマウントできませんでした。実際には、AzureでホストされているLinuxサーバーVMが機能します。これは、クライアントがファイル共有と同じAzureリージョンにある場合、Azure File StorageがSMB2.1接続を受け入れるためです。
ただし、オンプレミスからマウントしようとすると、Azure File StorageリクエストSMB 3.0暗号化がクライアントから適用されますが、SMB 3.0暗号化はLinuxの機能ではありませんtはまだサポートしているため、コマンドで指定したSMB 3.0でも、現時点では機能しません。