Thiết bị dm-0 này là gì?


98

Trong khi chọc ngoáy cố gắng tìm hiểu tại sao Linux -> truyền tệp Linux lại chạy chậm hơn tôi nghĩ, tôi tình cờ phát hiện ra điều gì đó mà tôi không quen thuộc. / dev / dm-0 dường như là nút cổ chai của tôi, nhưng tôi không biết nó là gì.

Trên máy chủ đích của tôi, lệnh iostat hiển thị một thiết bị ở phía dưới, / dev / dm-0, được sử dụng 100%. Máy chủ này có 6 đĩa trong bộ mdadm raid5, với LVM chạy trên nó. Mỗi đĩa bên dưới đang chiếm khoảng 50%. Việc chuyển tiền được ghi vào một khối lượng logic nằm trên raidset này.

Cái này / dev / dm-0 là gì? Một khi tôi biết nó là gì, có lẽ tôi có thể tìm cách tăng tốc độ của nó, hoặc ít nhất là hiểu tại sao nó là tốc độ.


1
Hóa ra thiết bị dm-0 không gây ra sự chậm chạp, tôi đã phân vùng sai. Trên ổ đĩa 4k sector, bạn cần căn chỉnh thủ công các phân vùng khi bạn tạo chúng. Ngốc, nhưng dễ sửa.
Jeff Shattock

Câu trả lời:


107

Đây là một phần của trình ánh xạ thiết bị trong kernel, được LVM sử dụng. Sử dụng dmsetup lsđể xem những gì đằng sau nó.


39
Cụ thể hơnsudo dmsetup info /dev/dm-0
tgharold

dmsetup lskhông trả lại bất kỳ thông tin hữu ích nào về những gì dm-0nó có thể được tìm thấy.
karatedog

47

Đó là những "thiết bị" logic LVM

Bạn có thể ánh xạ chúng bằng cách sử dụng:

# sudo lvdisplay|awk  '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'
dm-0 /dev/SysVolGroup/LogVolRoot
dm-1 /dev/SysVolGroup/xen
dm-2 /dev/SysVolGroup/db1-2
dm-3 /dev/SysVolGroup/db1-2swap
dm-4 /dev/SysVolGroup/python1
dm-5 /dev/SysVolGroup/python1swap
dm-6 /dev/SysVolGroup/db1-2snap

nguồn: http://www.linuxquestions.org/questions/linux-newbie-8/dm0-in-iostat-652771/


31

Như thường lệ trong một hệ thống Linux, sẽ có nhiều cách để có được kết quả tương tự. Nếu bạn đã được cung cấp một người dùng không phải root, tôi khuyên bạn nên sử dụng lsblklệnh (ví dụ: thiết bị chặn danh sách) sẽ xây dựng chế độ xem dạng cây của các phụ thuộc đĩa:

[oracle@abcdlinux ~]$ lsblk
NAME                               MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                                  8:0    0  300G  0 disk
└─RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  └─RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdb                                  8:16   0  100G  0 disk
└─Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ├─Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ├─Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  └─Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /
sdc                                  8:32   0  300G  0 disk
└─RATGORA1DSY_PJSTORE_1 (dm-4)     253:4    0  300G  0 mpath
  └─RATGORA1DSY_PJSTORE_1p1 (dm-5) 253:5    0  300G  0 part  /oradata
sdd                                  8:48   0  100G  0 disk
└─Boot-RATGORA1DSY (dm-0)          253:0    0  100G  0 mpath
  ├─Boot-RATGORA1DSYp1 (dm-1)      253:1    0  100M  0 part  /boot
  ├─Boot-RATGORA1DSYp2 (dm-2)      253:2    0   16G  0 part  [SWAP]
  └─Boot-RATGORA1DSYp3 (dm-3)      253:3    0 83.9G  0 part  /

17
sudo lvdisplay

cho thấy ánh xạ của các phân vùng ảo được gắn vào "nhóm âm lượng".

Khi tôi gõ, sudo pvstôi thấy ánh xạ của một nhóm âm lượng thành "âm lượng vật lý" trông giống như một /dev/sdaNký hiệu quen thuộc . (Tôi nhìn vào toàn bộ đĩa với fdisk -l /dev/sdamột phân vùng khác).


11

pvshiển thị các ổ đĩa vật lý làm nền tảng cho nhóm âm lượng LVM. Một số thiết bị vật lý có thể được nhóm lại với nhau từ một nhóm âm lượng. Sau đó, nhóm được chia lại thành các khối hợp lý theo yêu cầu xử lý các đĩa vật lý như một tài nguyên duy nhất được cắt nhỏ và định cỡ lại theo ý muốn. Mỗi lần bạn cắt một phần của nhóm âm lượng thành một khối hợp lý, nó được trình bày dưới dạng một dm-thiết bị


7

Tôi muốn bình luận về bài đăng của Pascal, đôi khi bạn cần xác định các cột đầu ra để xem tên. Ví dụ, trên CentOS 6, nó sẽ hiển thị chúng nhưng CentOS 7 thì không. Sử dụng --output giải quyết điều này.

lsblk --output NAME,KNAME,TYPE,SIZE,MOUNTPOINT

NAME            KNAME TYPE  SIZE MOUNTPOINT
sda             sda   disk   16G 
├─sda1          sda1  part  500M /boot
└─sda2          sda2  part 15.5G 
  ├─centos-root dm-0  lvm  13.9G /
  └─centos-swap dm-1  lvm   1.6G [SWAP]
sr0             sr0   rom  1024M 

1
tuyệt vời, dễ dàng hơn nhiều để xác định KNAME trên các thiết bị chính xác, cảm ơn
Alexander

1

Bạn có thể sử dụng sar

df -h

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-rootvol
                   24G  4.1G   18G  19% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/mapper/VolGroup01-appvol
                   39G  411M   37G   2% /app
/dev/sda1             194M   93M   92M  51% /boot
/dev/mapper/VolGroup01-logvol
                   61G   18G   41G  30% /log
/dev/mapper/VolGroup00-tmpvol
                  2.0G  379M  1.5G  21% /tmp
/dev/mapper/VolGroup00-varvol
                   20G  2.1G   17G  12% /var

sar -bdp 1

01:00:20 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz         await     svctm     %util
01:00:21 AM       sda      0.00      0.00      0.00      0.00      0.00              0.00      0.00      0.00
01:00:21 AM VolGroup00-swapvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-rootvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup01-appvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup01-logvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-varvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:00:21 AM VolGroup00-tmpvol      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

1

Bạn cũng có thể sử dụng iostat cho mục đích xác định các tắc nghẽn có thể xảy ra, ví dụ:

iostat -x -d 1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.