欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++?NFS掛載及掛載命令

 更新時(shí)間:2021年12月24日 11:09:57   作者:Yaronzz  
這篇文章主要介紹了C++?NFS掛載,文中給大家提到了掛載NFS時(shí)常用的命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

掛載NFS

掛載命令

掛載NFS時(shí),常用的命令比如:

#將遠(yuǎn)程目錄掛載到本地/home/share目錄下
mount -t nfs -o nolock 192.168.1.10:/tmp /home/share

在Linux 下可以用mount函數(shù)進(jìn)行掛載:

bool Mount()
{
    string remotePath = m_remoteIP + ":" + m_remotePath;
    string localPath = m_localPath;
    string params = "nolock,soft,fg,tcp,timeo=5,retrans=1,rsize=4096,vers=3,addr=" + m_remoteIP;

    int ret = mount(remotePath.c_str(),
                    localPath.c_str(),
                    "nfs",
                    MS_SYNCHRONOUS,
                    params.c_str());

    if (ret != 0)
    {
        auto errInfo = errno;
        return false;
    }

    return true;
}

錯(cuò)誤碼

掛載失敗時(shí),常見錯(cuò)誤碼errno有:

#define EINVAL 22 /* Invalid argument 掛載參數(shù)問題,可能是沒加addr*/

#define EACCES 13 /* Permission denied 權(quán)限問題*/

#define EPERM 1 /* Operation not permitted 權(quán)限問題*/

#define EBUSY 16 /* Device or resource busy 掛載目錄正被使用*/

#define ENOENT 2 /* No such file or directory 掛載目錄錯(cuò)誤*/

掛載參數(shù)

參數(shù) 說明
rsize=n 讀時(shí)最大字節(jié)數(shù)
wsize=n 寫時(shí)最大字節(jié)數(shù)
timeo=n 客戶端重傳請(qǐng)求前等待時(shí)間,默認(rèn)等待重傳時(shí)間為60s
retrans=n 客戶端返回錯(cuò)誤前的重傳次數(shù)。默認(rèn)為重傳3次。retrans與soft參數(shù)一起使用時(shí)才有效。
soft/hard 軟掛載方式掛載系統(tǒng),若NFS請(qǐng)求超時(shí),則客戶端向調(diào)用程序返回錯(cuò)誤;
如果使用硬連接方式則客戶端一直重新請(qǐng)求直至成功。默認(rèn)為hard
bg/fg 設(shè)置掛載失敗后的行為方式。
默認(rèn)的fg方式將立刻退出返回錯(cuò)誤狀態(tài),bg方式是退出前將產(chǎn)生一個(gè)子進(jìn)程在后臺(tái)繼續(xù)嘗試掛載
vers=xxx 設(shè)置版本
addr=xxx 設(shè)置服務(wù)地址
tcp/udp 設(shè)置協(xié)議,一般使用tcp,網(wǎng)絡(luò)不穩(wěn)定可以換udp
port=n 設(shè)置服務(wù)端口號(hào)
lock/nolock 選擇是否使用NLM協(xié)議在服務(wù)器上鎖文件。當(dāng)選擇nolock選項(xiàng)時(shí),鎖對(duì)于同一主機(jī)的應(yīng)用有效,對(duì)不同主機(jī)不受鎖的影響。默認(rèn)為lock。

卸載

卸載函數(shù)有mountmount2,第二個(gè)可以加參數(shù),所以一般情況下使用mount2進(jìn)行強(qiáng)制卸載:

bool UnMount()
{
    return umount2(m_localPath.c_str(), MNT_FORCE) == 0);
}

如果m_localPath目錄沒有被掛載,則會(huì)返回錯(cuò)誤

檢查是否掛載

檢查命令

Linux下使用命令檢查nfs是否掛載成功的方式有很多,比如:

檢查文件系統(tǒng)的磁盤空間占用情況 df -h

Filesystem                Size      Used Available Use% Mounted on
ubi0:rootfs              54.1M     50.8M      3.3M  94% /
devtmpfs                215.8M         0    215.8M   0% /dev
192.168.0.249:/nfs       59.6G      1.6G     57.9G   3% /mnt/udisk

查看掛載信息文件 cat /proc/mounts

ubi0:rootfs / ubifs rw,sync,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=220936k,nr_inodes=55234,mode=755 0 0
192.168.0.249:/nfs /mnt/udisk nfs rw,sync,relatime,vers=3,rsize=4096,wsize=8192,namlen=255,soft,nolock,proto=tcp,timeo=5,retrans=1,sec=sys,mountaddr=192.168.0.249,mountvers=3,mountproto=tcp,local_lock=all,addr=192.168.0.249 0 0

直接使用掛載命令 mount

ubi0:rootfs on / type ubifs (rw,sync,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=220936k,nr_inodes=55234,mode=755)
192.168.0.249:/nfs on /mnt/udisk type nfs (rw,sync,relatime,vers=3,rsize=4096,wsize=8192,namlen=255,soft,nolock,proto=tcp,timeo=5,retrans=1,sec=sys,mountaddr=192.168.0.249,mountvers=3,mountproto=tcp,local_lock=all,addr=192.168.0.249)

查看指定目錄是否掛載點(diǎn) mountpoint -d /mnt/udisk

#打印文件系統(tǒng)的主設(shè)備號(hào)和次設(shè)備號(hào)

0:21

功能實(shí)現(xiàn)

功能需求:

  • 檢查目錄是否掛載成功
  • 當(dāng)NFS服務(wù)關(guān)閉時(shí),檢查結(jié)果也需要同步

經(jīng)過測試,只有mountpoint 能完成第二點(diǎn)功能需求,所以直接使用shell命令來進(jìn)行檢查:

bool CheckMount()
{
    string shell = "mountpoint -d " + m_localPath;

    QProcess proc;
    proc.start(shell.c_str());
    if (!proc.waitForFinished(10000))
        return false;
    
    auto output = proc.readAll();
    return !output.isEmpty())
}

NFS服務(wù)

Linux下的NFS服務(wù)安裝比較方便,Windows下常見的NFS服務(wù)軟件可以使用haneWIN NFS Server

1. 下載地址:http://xiazai.jb51.net/202112/yuanma/nfsd_jb51.rar

2. 配置方法:打開目錄下的exports文件,配置NFS服務(wù)目錄,比如共享D盤下的NFSData目錄:

D:\NFSData? -name:nfs -exec -maproot:0 -alldirs

  • name:設(shè)置掛載的目錄名給客戶端使用,比如mount -t nfs -o nolock 192.168.1.10:/nfs /home/share
  • maproot:將root權(quán)限開放給客戶端
  • alldirs:將全部路徑開放給客戶端

到此這篇關(guān)于C++ NFS掛載的文章就介紹到這了,更多相關(guān)C++ NFS掛載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)

    C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)

    這篇文章主要介紹了C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言非遞歸算法解決快速排序與歸并排序產(chǎn)生的棧溢出

    C語言非遞歸算法解決快速排序與歸并排序產(chǎn)生的棧溢出

    上期我們講完了排序算法下,不知道小伙伴們有沒有發(fā)現(xiàn)一個(gè)問題,快速排序和歸并排序我們都是用遞歸來實(shí)現(xiàn)的,可能有小伙伴會(huì)問,如果說數(shù)據(jù)量很多話,棧區(qū)空間會(huì)不會(huì)不夠用呢?這期我們就來解決使用遞歸實(shí)現(xiàn)的排序?qū)е聴R绯鋈绾谓鉀Q
    2022-04-04
  • c++中的const_cast用法大全

    c++中的const_cast用法大全

    const_cast轉(zhuǎn)換符是用來移除變量的const或volatile限定符。對(duì)于后者,我不是太清楚,因?yàn)樗婕暗搅硕嗑€程的設(shè)計(jì),今天重點(diǎn)給大家介紹c++中的const_cast用法大全,需要的朋友參考下吧
    2021-07-07
  • 淺談關(guān)于C++memory_order的理解

    淺談關(guān)于C++memory_order的理解

    這篇文章主要介紹了淺談關(guān)于C++memory_order的理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • C語言中的數(shù)組和指針匯編代碼分析實(shí)例

    C語言中的數(shù)組和指針匯編代碼分析實(shí)例

    這篇文章主要介紹了C語言中的數(shù)組和指針匯編代碼分析實(shí)例,本文用一則C語言例子來得到對(duì)應(yīng)的匯編代碼,并一一注解每句匯編代碼的含義,需要的朋友可以參考下
    2015-06-06
  • C++創(chuàng)建窗口程序的實(shí)現(xiàn)示例

    C++創(chuàng)建窗口程序的實(shí)現(xiàn)示例

    Windows窗體應(yīng)用程序是C#語言中的一個(gè)重要應(yīng)用,本文主要介紹了C++創(chuàng)建窗口程序的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C++?STL標(biāo)準(zhǔn)庫std::vector擴(kuò)容時(shí)進(jìn)行深復(fù)制原因詳解

    C++?STL標(biāo)準(zhǔn)庫std::vector擴(kuò)容時(shí)進(jìn)行深復(fù)制原因詳解

    我們知道,std::vector之所以可以動(dòng)態(tài)擴(kuò)容,同時(shí)還可以保持順序存儲(chǔ),主要取決于其擴(kuò)容復(fù)制的機(jī)制。當(dāng)容量滿時(shí),會(huì)重新劃分一片更大的內(nèi)存區(qū)域,然后將所有的元素拷貝過去
    2022-08-08
  • Qt編寫地圖實(shí)現(xiàn)海量點(diǎn)位標(biāo)注

    Qt編寫地圖實(shí)現(xiàn)海量點(diǎn)位標(biāo)注

    海量點(diǎn)位標(biāo)注的出現(xiàn),是為了解決普通設(shè)備點(diǎn)超過幾百個(gè)性能極速降低的問題。本文將介紹如何通過Qt實(shí)現(xiàn)海量點(diǎn)位標(biāo)注功能,感興趣的可以了解一下
    2022-01-01
  • linux系統(tǒng)中c++寫日志文件功能分享

    linux系統(tǒng)中c++寫日志文件功能分享

    這篇文章主要介紹了linux系統(tǒng)中c++寫日志文件功能,簡化了glog,只保留了寫日志文件的功能,只是改寫了linux版本,需要的朋友可以參考下
    2014-03-03
  • C語言指針應(yīng)用簡單實(shí)例

    C語言指針應(yīng)用簡單實(shí)例

    這篇文章主要介紹了C語言指針應(yīng)用簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論