1

我想在我的CentOS7服務器上加載nbd網絡塊設備。但是,我得到:如何在CentOS7上加載網絡塊設備

modprobe nbd 
modprobe: FATAL: Module nbd not found. 

這將非常感激,如果有人能告訴我有nbd模塊加載的最佳方式。最後,我希望我可以通過合理的方式自動執行這些任務。

這裏是我的內核版本:

$ uname -r 
3.10.0-327.28.3.el7.x86_64 

謝謝!

+0

感謝評論。恕我直言,我認爲這與發展有關。例如,類似的問題,如:https://stackoverflow.com/questions/4839024/how-to-find-the-version-of-a-compiled-kernel-module,https://stackoverflow.com/questions/ 35525960 /試管理-linux-kernel-modules-modprobe-command和https://stackoverflow.com/questions/225845/how-do-i-configure-modprobe-to-find-my-module。但是,我很感謝您分享這些鏈接並告知我其他平臺的幫助。 :) – Lucas

+0

是的,小心根據其他問題來衡量你的問題的主題性。他們也可能是無關緊要的。問題是,我們(Stack Overflow社區)在執行網站規則方面做得不好。你似乎陷入了一個更糟糕的陷阱 - 早在2008年或2009年,網站的規則就有所不同;像[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)這樣的網站不存在。但是如果我錯了,請顯示驅動程序的相關代碼,例如'insert_mod'和'remove_mod'。 – jww

+0

這是一個很好的觀點,你對規則自那時以來已經發生了變化。至於顯示驅動程序的相關代碼,如果您可以詳細說明,將非常感激。也許更好的問題是,如何在CentOS7上安裝網絡設備塊?在Ubuntu上執行它似乎非常簡單,但不是CentOS。 – Lucas

回答

2

我發現這很有用。請讓我知道,如果這並不爲你工作

uname -r 
sudo su 
# useradd builder 
# groupadd builder 
cd /home/centos 
# Get Source Code, make sure you check the kernel version first and download the proper version 
wget http://vault.centos.org/7.2.1511/updates/Source/SPackages/kernel-3.10.0-327.28.3.el7.src.rpm 
rpm -ivh kernel-3.10.0-327.28.3.el7.src.rpm 

# Build Preparation 
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} 
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros 
cd ~/rpmbuild/SPECS 
rpmbuild -bp --target=$(uname -m) kernel.spec 
cd ~/rpmbuild/BUILD/kernel-3.10.0-327.28.3.el7/linux-3.10.0-327.28.3.el7.centos.x86_64/ 

# Build 
make menuconfig 
# Device Driver -> Block devices -> Set 「M」 On 「Network block device support」 

make prepare && make modules_prepare && make 
make M=drivers/block -j8 
modinfo drivers/block/nbd.ko 
cp drivers/block/nbd.ko /lib/modules/3.10.0-327.28.3.el7.x86_64/extra/ 
depmod -a && sudo modprobe nbd 

這將使NBD上CentOS7

+0

這是非常有用的,我注意到你意味着添加一個用戶'builder'(因爲它建議不要以root身份建立),但它並沒有明確說明你在這個用戶的末尾運行了'make'(以及'〜/ rpmbuild'應該是 -// root/rpmbuild'還是'/ home/builder/rpmbuild'?) – szmoore

+0

也至少需要Centos'7.4.1708'和內核版本'3.10.0-693.5.2'安裝gcc版本6或更高版本,說明在這裏https://stackoverflow.com/questions/36327805/how-to-install-gcc-5-3-with-yum-on-centos-7-2 – szmoore

+0

感謝您的意見@szmoore。所以如果你想添加用戶'builder'(因爲它是推薦的),你應該在'/ home/builder/rpmbuild'下運行'make'。並感謝發佈鏈接到安裝'gcc'版本> 6的說明 – Lucas