日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

使用内存盘 格式化文件系统以及部署ceph-osd

發(fā)布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用内存盘 格式化文件系统以及部署ceph-osd 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

      • 創(chuàng)建RAMDISK
      • 使用內(nèi)存盤
        • 使用內(nèi)存盤格式化文件系統(tǒng)
        • 使用內(nèi)存盤部署ceph-osd
      • 刪除內(nèi)存盤

為了測試內(nèi)存盤類型的磁盤做ceph osd的io性能,將內(nèi)存部分空間取出來用作普通物理磁盤(RAMDISK),并在該磁盤上部署ceph osd
支持該操作的系統(tǒng)驅(qū)動為brd.ko

PS :使用內(nèi)存盤千萬不要存放數(shù)據(jù),因為內(nèi)存在操作系統(tǒng)上下電會被回收掉,如果用作存儲會造成數(shù)據(jù)的丟失

創(chuàng)建RAMDISK

一般centos7及以上都存在brd.ko文件,不過還是確認當前操作系統(tǒng)是否存在brd.ko驅(qū)動文件

  • locate brd.ko或者 find / -name brd.ko

    /usr/lib/modules/3.10.0-123.el7.x86_64/kernel/drivers/block/brd.ko
    /usr/lib/modules/3.10.0-123.el7.x86_64-002/kernel/drivers/block/brd.ko
    
  • 加載內(nèi)存盤
    insmod /usr/lib/modules/3.10.0-123.el7.x86_64/kernel/drivers/block/brd.ko rd_nr=2 rd_size=16777216 max_part=0
    使用insmod通過絕對路徑加載驅(qū)動,或者直接執(zhí)行如下命令更為簡單
    modprobe brd rd_nr=2 rd_size=16777216 max_part=0
    modprobe命令不需要絕對路徑,只要操作系統(tǒng)存在該文件,它會自動加載并且將與該驅(qū)動相關(guān)的依賴驅(qū)動一同加載進去

    關(guān)于加載中的參數(shù)配置描述如下:

    • rd_nr 表示一次創(chuàng)建多少個內(nèi)存盤
    • rd_size 表示每隔內(nèi)存盤的大小,單位為KB.這里設(shè)置容量需要根據(jù)操作系統(tǒng)內(nèi)存占用容量來設(shè)置,free -h查看后使用空余內(nèi)存空間
    • max_part 表示每隔內(nèi)存盤支持的最大分區(qū)數(shù)
  • 查看創(chuàng)建好的內(nèi)存盤
    因為內(nèi)存盤并不是物理磁盤,也不是塊設(shè)備,所以lsblk查看系統(tǒng)快設(shè)備是看不到的,但是它已經(jīng)已io驅(qū)動文件形式存在,所以在目錄/dev/下是可以看到該文件

    [root@node1 ~]# ls -l /dev/ram*
    brw-rw---- 1 root disk 1, 0 Jul  3 12:55 /dev/ram0
    brw-rw---- 1 root disk 1, 1 Jul  3 12:55 /dev/ram1
    

使用內(nèi)存盤

由于我這里是用作ceph-osd部署,則不需要自己去格式化操作,

使用內(nèi)存盤格式化文件系統(tǒng)

  • 查看內(nèi)存盤容量
    fdisk -l /dev/ram0
    Disk /dev/ram0: 17.2 GB, 17179869184 bytes, 33554432 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
  • 對內(nèi)存盤格式化文件系統(tǒng)
    mkfs.xfs /dev/ram0
  • 掛載文件系統(tǒng)
    mount /dev/ram0 /mnt/test
    df -h查看文件系統(tǒng)已經(jīng)成功掛載

    接下來就可以向文件系統(tǒng)中寫入數(shù)據(jù)

使用內(nèi)存盤部署ceph-osd

因為ceph部署osd默認block 分區(qū)大小為10G,所以這里我們需要在分區(qū)上部署osd才可行

  • 在內(nèi)存盤上使用fdisk做出5G的分區(qū),可以參考fdisk為磁盤做分區(qū)
    做出的內(nèi)存盤分區(qū)如下

    [root@node1 ~]# ls -l /dev/ram0*
    brw-rw---- 1 root disk 1, 0 Jul  3 15:40 /dev/ram0
    brw-rw---- 1 root disk 1, 1 Jul  3 15:40 /dev/ram0p1
    
  • 寫入osd block配置到ceph.conf中,如下

    [osd.0]
    bluestore_block_size = 4294967296
    
  • 執(zhí)行如下命令在做好的分區(qū)上部署osd
    ceph-disk -v prepare /dev/ram0p1
    ceph-disk -v activate /dev/ram0p1
    在激活的時候會報出如下錯誤

    activate: ceph osd.0 data dir is ready at /var/lib/ceph/tmp/mnt.Egdb_s
    move_mount: Moving mount to final location...
    command_check_call: Running command: /bin/mount -o noatime,user_xattr -- /dev/ram0p1 /var/lib/ceph/osd/ceph-0
    command_check_call: Running command: /bin/umount -l -- /var/lib/ceph/tmp/mnt.Egdb_s
    command_check_call: Running command: /sbin/sgdisk --change-name=1:ceph data osd.0 /dev/ram0p
    Problem opening /dev/ram0p for reading! Error is 2.
    The specified file does not exist!
    

    該錯誤為修改分區(qū)名稱時報出的錯誤,因為內(nèi)存盤做出的分區(qū) 物理分區(qū)表并沒有分配具體的容量配置。即每個分區(qū)容量都是整個內(nèi)存盤容量。但是部署到這里,osd該有的配置已經(jīng)完成。但因為異常,找不到1分區(qū)文件,已經(jīng)跳出了部署腳本,不會執(zhí)行systemd的start服務(wù)。但是此時osd是可以被拉起來的。

    關(guān)于如上問題,有一個更好的解決辦法是可以映射多塊內(nèi)存盤,每個內(nèi)存盤分別做一個OSD或者其他OSD的db/wal分區(qū)即可,這里可以不使用內(nèi)存盤的分區(qū)來進行操作。

    systemctl start ceph-osd@0
    查看掛載:

    /dev/ram0p1      16G   45M   15G   1% /var/lib/ceph/osd/ceph-0
    

    這里分區(qū)容量問題需要描述一下,因為我們?nèi)〕龅膬?nèi)存容量為16G用作內(nèi)存盤。但是需要我們在ceph-disk源碼中會有sgdisk操作,命令sgdisk中有設(shè)置typecode以及將mbr分區(qū)轉(zhuǎn)成gpt分區(qū)過程。這個過程會清除mbr分區(qū),內(nèi)存盤分區(qū)表格式為dos mbr分區(qū),所以這里/dev/ram0p1文件仍然存在,但是分區(qū)表已經(jīng)被破壞,所以此時看到的容量即為內(nèi)存盤的所有容量了。

    查看osd具體容量:
    為我們配置文件中設(shè)置的容量

刪除內(nèi)存盤

  • 卸載所有掛載在內(nèi)存盤上的文件夾
  • 直接執(zhí)行modprobe -r brd 卸載brd驅(qū)動

總結(jié)

以上是生活随笔為你收集整理的使用内存盘 格式化文件系统以及部署ceph-osd的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。