こんにちは、pvsコマンドは次の出力を提供します。
PV VG Fmt Attr PSize PFree
/dev/sd** ***** lvm2 a- 59.49g 47.49g
/dev/sd** ***** lvm2 a- 25.00g 8.00m
これは私がルートの場合にのみ機能します。
root以外のユーザーとしてこの情報を取得するために使用できる他のコマンドはありますか?
答え1
すべてのユーザーはを通じて情報を得ることができますlsblk
。これには、単純な出力、完全な詳細情報、またはカスタム出力を取得するオプションがあります。
努力する:
lsblk
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238,5G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 700M 0 part /boot └─sda3 8:3 0 206,4G 0 part ├─fed21_ssd_pcsolo-swap 253:0 0 29,8G 0 lvm [SWAP] ├─fed21_ssd_pcsolo-root 253:1 0 80G 0 lvm / ├─fed21_ssd_pcsolo-home 253:2 0 50G 0 lvm /home └─fed21_ssd_pcsolo-tmp 253:3 0 46,6G 0 lvm /tmp sdb 8:16 0 2,7T 0 disk ⋮
lsblk -f
(ファイルシステムに関する情報を出力します)lsblk -b
(人が読める形式ではなくバイト単位でSIZE列を印刷)lsblk -m
(デバイス所有者、グループ、モードに関する情報を出力します)lsblk -O
(大文字「o」) 詳細は次のとおりです。lsblk -o
(印刷する出力列の指定)カスタム形式を定義できます。
答え2
このpvs
コマンドはの一部ですlvm
。 rootで、root以外のユーザーに対してこの機能を有効にする必要がある場合は、を使用してデフォルトでrootに制限されsetcap
た操作を実行するようにlvm実行権限を設定できます。
これは、操作を実行するためにroot権限が必要なすべての実行可能ファイルに適用されます。
ファイル機能の詳細をご覧ください。http://man7.org/linux/man-pages/man7/capability.7.html
例: 前setcap
$ pvs
WARNING: Running as a non-root user. Functionality may be unavailable.
/run/lvm/lvmetad.socket: connect failed: Permission denied
WARNING: Failed to connect to lvmetad: Permission denied. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: Permission denied
/run/lock/lvm/P_global:aux: open failed: Permission denied
Unable to obtain global lock.
後ろに
setcap "cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_admin,cap_sys_chroot,cap_sys_admin,cap_sys_resource,cap_audit_control,cap_setfcap=+eip" /sbin/lvm
$ pvs
WARNING: Running as a non-root user. Functionality may be unavailable.
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 15.51g 0
/dev/sdb DataPool lvm2 a-- 50.00g 0
/dev/sdc DataPool lvm2 a-- 60.00g 0
/dev/sdd DBArchivePool lvm2 a-- 50.00g 0
必要以上に大文字を使用していることに注意してください。おそらく私が使用したものをコピーしたからです。しかし、おそらく最小の大文字セットを見つけることができます。
設定したい上限を引用することを忘れないでください。