2017年5月27日 星期六

Cacti 使用指令來建立流量圖

一開始本來都是使用WEB UI去建立流量圖,但由於新增的是網路設備,覺得用WEB UI太慢了,而且眼睛也會看到快脫窗了,所以就想說沒有沒指令可以下,就可以加圖片了,果真還真的有指令可以用,主要是拿來建來樹狀結構中的圖片。
所有cacti可以用的指令都放在這個目錄底下,/usr/share/cacti/cli
查詢目前有哪些裝置
php -q add_tree.php --list-hosts
查詢目前的樹狀結構
php -q add_tree.php --list-trees
查詢目前裝置上有哪些圖
php -q add_tree.php --list-graphs --host-id=9
查詢這個樹狀結構中的某一個節點,裡面可以找到 parentid
php -q add_tree.php --list-nodes --tree-id=5
查詢目前樹狀結構中,有建立了哪些header,也就是所謂的子目錄,header的id也是等於parentid
php -q add_tree.php --type=tree  --node-type=header --list-nodes --tree-id=5
把流量圖新增到graph trees裡面
php -q add_tree.php --type=node --node-type=graph --tree-id=5 --parent-node=82 --graph-id=184--rra-id=1
Reference: 

2017年5月26日 星期五

修復 Cacti Server 的 MySQL 資料庫


剛建立cacti時,本來都可以正常畫圖,後來我也不知道我幹了什麼事,DB就壞了,翻log就看到這段錯誤
2017-05-24 16:55:31 603 [ERROR] /usr/sbin/mysqld: Table './cacti/graph_template_input_defs' is marked as crashed and should be repaired
2017-05-24 16:55:31 603 [Warning] Checking table:   './cacti/graph_template_input_defs'
2017-05-24 16:55:31 603 [ERROR] /usr/sbin/mysqld: Table './cacti/host_template_graph' is marked as crashed and should be repaired
2017-05-24 16:55:31 603 [Warning] Checking table:   './cacti/host_template_graph'
2017-05-24 16:55:31 603 [ERROR] /usr/sbin/mysqld: Table './cacti/host_template_snmp_query' is marked as crashed and should be repaired
2017-05-24 16:55:31 603 [Warning] Checking table:   './cacti/host_template_snmp_query'
2017-05-24 16:55:31 603 [ERROR] /usr/sbin/mysqld: Table './cacti/plugin_db_changes' is marked as crashed and should be repaired
2017-05-24 16:55:31 603 [Warning] Checking table:   './cacti/plugin_db_changes'
2017-05-24 16:55:31 603 [ERROR] /usr/sbin/mysqld: Table './cacti/weathermap_groups' is marked as crashed and should be repaired
2017-05-24 16:55:31 603 [Warning] Checking table:   './cacti/weathermap_groups'
解法:
第一種: php /usr/share/cacti/cli/repair_database.php (我沒用)
第二種: mysqlcheck -c -u root -p --all-databases
這樣它就好了。
Reference: 

2017年5月16日 星期二

Proxmox - lv的空間異常

Proxmox Version
Proxmox 4.3 (running kernel: 4.4.19-1-pve)
事由
由於在Proxmox機器上裝了一顆500GB和二顆1TB的HDD,一開始我以為裝機系統時,會幫我把lvm的事情都給搞定,後來幸好同事有發現硬碟空間不夠了,才得知原來Proxmox只有分配到500GB硬碟空間,才導致 /dev/pve/data 這個空間不夠用了,感謝同事幫我發現這個問題。
解法方法
Step1: 先用 pvdisplay 確認實體硬碟的容量跟 VG NAME ,確認所有硬碟都有加入到 VG NAME 這個群組。
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               pve
  PV Size               465.64 GiB / not usable 4.01 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              119202
  Free PE               4052
  Allocated PE          115150
  PV UUID               Jnvsaq-Ys7Y-snQZ-1NbF-2xzb-P0jo-wnf0qU

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               pve
  PV Size               931.51 GiB / not usable 4.71 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               238466
  Allocated PE          0
  PV UUID               1C3Bjt-a1Rd-weDb-jL70-5qRy-CGU7-LwpOBJ

  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               pve
  PV Size               931.51 GiB / not usable 4.71 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               238466
  Allocated PE          0
  PV UUID               xFO4Be-O0ZT-CHcV-hZXK-mwfj-sNiG-TP5p3c
Step2: 接著用 lsblk 來確認目前硬碟的使用狀況,很明顯可以發現,只有 sda 有被使用,其他二顆 sdb1 跟 sdc1 都是沒有被使用的,而且 pve-data_tmeta 跟 pve-data_tdata 容量都是一樣的。
# lsblk
NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                              8:0    0 465.8G  0 disk 
├─sda1                           8:1    0  1007K  0 part 
├─sda2                           8:2    0   127M  0 part 
└─sda3                           8:3    0 465.7G  0 part 
  ├─pve-root                   251:0    0 116.3G  0 lvm  /
  ├─pve-swap                   251:1    0     8G  0 lvm  [SWAP]
  ├─pve-data_tmeta             251:2    0    84M  0 lvm  
  │ └─pve-data-tpool           251:4    0 325.4G  0 lvm  
  │   ├─pve-data               251:5    0 325.4G  0 lvm  
  │   ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm  
  │   ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm  
  │   ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm  
  │   ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm  
  │   ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm  
  │   ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm  
  │   ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm  
  │   ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm  
  │   └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm  
  └─pve-data_tdata             251:3    0 325.4G  0 lvm  
    └─pve-data-tpool           251:4    0 325.4G  0 lvm  
      ├─pve-data               251:5    0 325.4G  0 lvm  
      ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm  
      ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm  
      ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm  
      ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm  
      ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm  
      ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm  
      ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm  
      ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm  
      └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm  
sdb                              8:16   0 931.5G  0 disk 
└─sdb1                           8:17   0 931.5G  0 part 
sdc                              8:32   0 931.5G  0 disk 
└─sdc1                           8:33   0 931.5G  0 part 
sr0                             11:0    1  1024M  0 rom 
Step3: 再用 vgdisplay 觀察後,發現 VG Size有 2.27 TiB ,但可用的卻只有Alloc PE / Size 115150 / 449.80 GiB , 而 Free PE / Size 480984 / 1.83 TiB 則是代表還有1.83 TiB可以使用。
# vgdisplay
  --- Volume group ---
  VG Name               pve
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  85
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                19
  Open LV               11
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.27 TiB
  PE Size               4.00 MiB
  Total PE              596134
  Alloc PE / Size       115150 / 449.80 GiB
  Free  PE / Size       480984 / 1.83 TiB
  VG UUID               0AyuWc-Dhjx-5x4H-35O0-kG0r-pZbz-I2c6Q9
Step4: 用 lvextend 把 /dev/pve/data 做擴展
# lvextend -L+1T /dev/pve/data
  Size of logical volume pve/data_tdata changed from 455.39 GiB (116580 extents) to 1.44 TiB (378724 extents).
  Logical volume data successfully resized
Step5: 用 vgdisplay 和 lsblk 去檢查看是不是真的有做擴展
# vgdisplay
  --- Volume group ---
  VG Name               pve
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  90
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                19
  Open LV               11
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.27 TiB
  PE Size               4.00 MiB
  Total PE              596134
  Alloc PE / Size       410574 / 1.57 TiB
  Free  PE / Size       185560 / 724.84 GiB
  VG UUID               0AyuWc-Dhjx-5x4H-35O0-kG0r-pZbz-I2c6Q9
# lsblk
NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                              8:0    0 465.8G  0 disk
├─sda1                           8:1    0  1007K  0 part
├─sda2                           8:2    0   127M  0 part
└─sda3                           8:3    0 465.7G  0 part
  ├─pve-root                   251:0    0 116.3G  0 lvm  /
  ├─pve-swap                   251:1    0     8G  0 lvm  [SWAP]
  ├─pve-data_tmeta             251:2    0    84M  0 lvm
  │ └─pve-data-tpool           251:4    0   1.5T  0 lvm
  │   ├─pve-data               251:5    0 325.4G  0 lvm
  │   ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm
  │   ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm
  │   ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm
  │   ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm
  │   ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm
  │   ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm
  │   ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm
  │   ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm
  │   └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm
  └─pve-data_tdata             251:3    0   1.5T  0 lvm
    └─pve-data-tpool           251:4    0   1.5T  0 lvm
      ├─pve-data               251:5    0 325.4G  0 lvm
      ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm
      ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm
      ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm
      ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm
      ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm
      ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm
      ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm
      ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm
      └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm
sdb                              8:16   0 931.5G  0 disk
└─sdb1                           8:17   0 931.5G  0 part
  └─pve-data_tdata             251:3    0   1.5T  0 lvm
    └─pve-data-tpool           251:4    0   1.5T  0 lvm
      ├─pve-data               251:5    0 325.4G  0 lvm
      ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm
      ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm
      ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm
      ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm
      ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm
      ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm
      ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm
      ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm
      └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm
sdc                              8:32   0 931.5G  0 disk
└─sdc1                           8:33   0 931.5G  0 part
  └─pve-data_tdata             251:3    0   1.5T  0 lvm
    └─pve-data-tpool           251:4    0   1.5T  0 lvm
      ├─pve-data               251:5    0 325.4G  0 lvm
      ├─pve-vm--10003--disk--1 251:6    0    60G  0 lvm
      ├─pve-vm--10000--disk--1 251:7    0    60G  0 lvm
      ├─pve-vm--10002--disk--1 251:8    0    60G  0 lvm
      ├─pve-vm--10002--disk--2 251:9    0   100G  0 lvm
      ├─pve-vm--10001--disk--1 251:10   0    60G  0 lvm
      ├─pve-vm--10001--disk--2 251:11   0   100G  0 lvm
      ├─pve-vm--10004--disk--1 251:12   0    40G  0 lvm
      ├─pve-vm--10004--disk--2 251:13   0    50G  0 lvm
      └─pve-vm--20002--disk--1 251:14   0    70G  0 lvm
sr0                             11:0    1  1024M  0 rom
觀察發現 Alloc PE / Size 410574 / 1.57 TiB 變大了,且 sdb1 跟 sdc1都已經有資料了。
Reference: