一些常用的命令
包含sql和lvm等
常用的命令
sql 相关
PosgreSQL 创建数据库、创建用户、并将数据库授权给指定用户。
create DATABASE database_name;
CREATE USER uer_name WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "database_name" to usr_name;
MySQL 创建数据库、创建用户、并将数据库授权给指定用户。
create DATABASE database_name;
CREATE USER 'usr_name' IDENTIFIED BY 'passwd';
GRANT ALL ON database_name.* TO 'usr_name'
磁盘相关
1、lvm
LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
lvm常用的命令
功能 | PV管理命令 | VG管理命令 | LV管理命令 |
---|---|---|---|
scan 扫描 | pvscan | vgscan | lvscan |
create 创建 | pvcreate | vgcreate | lvcreate |
display 显示 | pvdisplay | vgdisplay | lvdisplay |
remove 移除 | pvremove | vgremove | lvremove |
extend 扩展 | vgextend | lvextend | |
reduce 减少 | vgreduce | lvreduce |
注意:查看命令有scan、display和s(pvs、vgs、lvs)。s是简单查看对应卷信息,display是详细查看对应卷信息。而scan是扫描所有的相关的对应卷。
1)、新加入的磁盘必须创建磁盘分区,使用fdisk
或者 gdisk
进行分区。
使用命令 fdisk - l
查看磁盘情况。再使用 fdisk /dev/sdb
对新加入的磁盘进行分区。fdisk 以及对于 gdisk 的使用在这里不再赘述。
2)、分区好以后,使用 pvcreate
命令来创建pv
pvcreate /dev/sdb
pvs #查看 PV 情况
PV 创建好以后使用vgcreate创建卷组VG,并且此处可以-s选项指定PE(LE)的大小,(默认PE大小4M)
注意:PE大,读取速度快,但浪费空间。反之,读取速度慢,但节省空间。类似于socket
vgcreate vg1 /dev/sdb
vgcreate -s 16M vg2 /dev/sdb
vgs #查看 vg
VG 创建好以后创建LV lvcreate -n lvname -L lvsize(M,G)|-l LEnumber vgname
lvcreate -n lv1 -L 64M vg1
lvcreate -n lv2 -l 16 vg1
#lvcreate -n lvname -L lvsize(M,G)|-l LEnumber vgname
lvs
至此 lvm 创建成功,还需要格式化和挂载。
注意:在格式化之前需要知道xfs文件系统只支持增大,不支持减小。ext2、ext3、ext4增大减小都支持。
mkfs.ext4 /dev/vg1/lv1 #将lv1格式化成ext4
mkdir /lv1
mount /dev/vg1/lv1 /lv1 #挂载到/lv1下
echo "/dev/vg1/lv1 /lv1 ext4 defaults 0 0" >> /etc/fstab #追加到开机挂载
这里的/dev/vg1/lv1实际是一个软链接,实际地址ll /dev/vg1/lv1
查看。
3)、逻辑卷LV扩容(动态扩容)
在不停机的情况下,为 Linux 添加一块硬盘,来对 LV 进行动态扩容。
首先需要对总线进行扫描,使得系统获取到新添加的硬盘。
ls /sys/class/fc_host #(会看到host1,host2...hostN,对每个host进行如下操作)
echo "- - -" > /sys/class/scsi_host/host1/scan #(中间是有空格的)!!
echo "- - -" > /sys/class/scsi_host/host2/scan
...
echo "- - -" > /sys/class/scsi_host/hostN/scan
扫描总线之后再使用 fdisk -l
查看磁盘。之后使用 fdisk
或者 gdisk
分区。分区之后依然需要创建 PV。
首先需要确认是否有可用的扩容空间,逻辑卷LV是从卷组VG中创建的,所有在逻辑卷LV扩容前需要查看卷组VG的空间使用情况。
vgs #查看 vg 剩余空间
然后对VG 进行扩容,使用如下命令。
vgextend vg1 /dev/sdc #sdc pv 添加到 vg1
lvextend -L +100M /dev/vg1/lv1 #给 lv1添加 100M 空间
lvextend -L 100M /dev/vg1/lv2 #直接使用100M是增加到100M
lvs #查看
文件系统也需要扩容。ext4文件系统扩容使用"resize2fs
[逻辑卷名称]",xfs文件系统扩容使用"xfs_growfs
挂载点"
resize2fs /dev/vg1/lv1 #ext4文件系统扩容
xfs_growfs /dev/mapper/vg_sql-lv_root #xfs_growfs 需要添加挂载点。
df -h #查看
4)、逻辑卷LV缩小
逻辑卷LV缩小命令lvreduce与扩容命令类似,缩减逻辑卷LV请谨慎操作。lvreduce
命令使用-L
选项减少空间,-r
选项减少文件系统空间,实现动态调整(这是ext4文件系统)
lvreduce -L 100M -r /dev/vg1/lv1
如果不使用-r选项,那么需要卸载挂载点再使用resize2fs调整,但这已经不是动态调整了。xfs文件系统不支持缩小。
LV 的缩小不在赘述。
5)、删除 LV
删除LVM步骤:umount卸载-->lvremove移除逻辑卷LV-->vgremove移除卷组VG-->pvremove移除物理卷PV
[root@xuexi dev]# umount /lv1 //卸载挂载点
[root@xuexi dev]# lvremove /dev/vg1/lv1 //移除逻辑卷
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
Logical volume "lv1" successfully removed
[root@xuexi dev]# lvs
[root@xuexi dev]# vgremove vg1 //移除卷组
Volume group "vg1" successfully removed
[root@xuexi dev]# vgs
VG #PV #LV #SN Attr VSize VFree
vg2 1 0 0 wz--n- 1.98g 1.98g
[root@xuexi dev]# pvremove /dev/sdb1 //移除物理卷
Labels on physical volume "/dev/sdb1" successfully wiped.
更多可参考 「LVM管理」:https://www.cnblogs.com/diantong/p/10554831.html