zoukankan      html  css  js  c++  java
  • nbd 相关概念及操作

    周五(3月6号)笔者发现有台物理机上挂载了一个并非常用的nbd设备,估计是之前人做的测试留下来的,决定卸载它,顺带了解了下nbd的设备信息。

    什么是nbd

    全称是network block device,类似于nfs,远程设备可以挂载,只不过挂载的不再是文件系统,而是块设备。

    nbd一般分为client端和server端。

    nbd相关操作命令

    # server

    apt install nbd-server 安装nbd server端
    modprobe nbd 加载nbd模块
    lsmod | grep nbd 查看nbd模块是否加载

    nbd-server [port] nbd.file 通过nbd-server挂载nbd.file,nbd.file可以是Linux格式支持的磁盘镜像文件(ISO,块设备等)

    # client

    apt install nbd-client

    ls /dev/nbd* -hl 查看nbd列表及大小

    nbd-client [server IP] [port] /dev/nbd10 将远程server的块设备挂载到本地nbd10上

    nbd-client -d /dev/nbd10 detach远程nbd设备

    对于server端的卸载 笔者没有找到卸载命令,直接kill了。

     nbd-client 和qemu-nbd

    nbd-client用于挂载远程nbd-server,当主机装完nbd-client的包后,通过 ls /dev/nbd* -hl 能够发现新增了/dev/nbd 设备

    执行nbd-client 挂载命令后,对这块block,执行的是常规的例如mkfs , mount 后便可使用。

    但是对于img,qcow2这类文件该如何进行本地挂载,使用的是qemu-nbd

    (如下图,使用client以及server方式,虽然前面nbd步骤可以正常执行,但是却无法正常mount,提示格式不支持)

    # qemu-nbd

    qemu-nbd -c /dev/nbd10 XX.img 在本地挂载img文件到nbd10上 qemu-nbd -d /dev/nbd10 卸载nbd10

    如果img文件有1个分区,那么对应的nbd10会生成一个nbd10p1,如果有2个分区,对应的nbd10会生成nbd10p1以及nbd10p2,以此类推。

    通过mount挂载便可进入访问。

    卸载图一中的/mnt

    cd /mnt && ls -al 进入/mnt目录并检查有无重要文件
    
    cd .. 退出
    
    ls /dev/nbd10* -hl 检查nbd10相关设备
    
    umount /mnt 取消/mnt挂载
    
    qemu-nbd -d /dev/nbd10 卸载10设备,注意不是nbd10p1
    
    ls /dev/nbd10* -hl 再次检查nbd10相关设备
  • 相关阅读:
    mysql 开启sql执行日志
    opcache.revalidate_freq 修改无效
    centos7 maven3.6.3安装
    CentOS7.5下基于FTP服务的局域网yum源搭建
    Centos7——防火墙(Firewall)开启常见端口命令
    Linux系统通过firewall限制或开放IP及端口
    CentOS7 FTP安装与配置
    centos7 搭建个人-企业私有云盘-seafile
    Centos6-7下杀毒软件clamav的安装和使用 (已成功测试)-----转发
    tomcat 安全规范(tomcat安全加固和规范1)--转发
  • 原文地址:https://www.cnblogs.com/handsomehuo/p/12442865.html
Copyright © 2011-2022 走看看