背景
剛剛開通了 100 臺 centos7 伺服器,現在要批量分割槽怎麼辦?一台臺的操作顯然不符合我摸魚的風格,既然每台操作都一樣,ansible roles 就有用武之地了。
正常分割槽流程
可以看到這個過程是比較繁瑣的,光打字我都覺得累了。下面是詳細過程:
[root@wlj179 ~]# fdisk -l|grep 'disk /dev/'
disk /dev/sda: 479.0 gb, 478998953984 bytes, 935544832 sectors
disk /dev/sdb: 1999.0 gb, 1998998994944 bytes, 3904294912 sectors
[root@wlj179 ~]# fdisk /dev/sdb
welcome to fdisk (util-linux 2.23.2).
changes will remain in memory only, until you decide to write them.
be careful before using the write command.
command (m for help): n
partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
select (default p): p
partition number (1-4, default 1):
first sector (2048-3907029167, default 2048):
using default value 2048
last sector, +sectors or +size (2048-3907029167, default 3907029167):
using default value 3907029167
partition 1 of type linux and of size 1.8 tib is set
command (m for help): w
the partition table has been altered!
calling ioctl() to re-read partition table.
syncing disks.
[root@wlj179 ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=122094598 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=488378390, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=238466, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@wlj179 ~]# mkdir -p /data
[root@wlj179 ~]# mount /dev/sdb1 /data/
[root@wlj179 ~]# cat /etc/fstab
## /etc/fstab
# created by anaconda on thu mar 26 04:55:31 2020
## accessible filesystems, by reference, are maintained under '/dev/disk'
# see man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#uuid=0135710d-4dd6-4a55-98a3-9453637e441a /boot xfs defaults 0 0
/dev/sdb1 /data xfs defaults 0 0
ansible playbooks
通俗的說,把 playbooks 理解為乙個 shell 指令碼就差不多了,一樣是執行以後實現某個功能。
簡單來說, playbooks 是一種簡單的配置管理系統與多機器部署系統的基礎.與現有的其他系統有不同之處,且非常適合於複雜應用的部署.
playbooks 可用於宣告配置,更強大的地方在於,在 playbooks 中可以編排有序的執行過程,甚至於做到在多組機器間,來回有序的執行特別指定的步驟.並且可以同步或非同步的發起任務.
我們使用 adhoc 時,主要是使用 /usr/bin/ansible 程式執行任務.而使用 playbooks 時,更多是將之放入原始碼控制之中,用之推送你的配置或是用於確認你的遠端系統的配置是否符合配置規範.
批量分割槽
[root@iz88n11npysz fdisk]# more tasks/main.yaml
---- name: create a new primary partition
parted:
device: /dev/sdb
number: 1
state: present
- name: create a xfs filesystem on /dev/sdb
filesystem:
fstype: xfs
dev: /dev/sdb1
- name: create folder
shell: mkdir -p /data
- name: mount up device by label
mount:
path: /data
src: /dev/vdb1
fstype: xfs
state: mounted
執行
ansible-playbook main.yaml
親測 5s 完成一台。 Centos7 交換分割槽
製作交換分割槽 檢視swap free m total used free shared buff cache ailable mem 7856 592 5282 1176 1981 5828 swap 14335 0 14335 top kib swap 14680060 total,146800...
CentOS 7 磁碟分割槽
我們知道,在乙個系統中,我們必須要給物理磁碟分割槽才能使用,在centos7 linux中也是一樣,絕大多數使用者都是在該系統安裝的時候選擇了預設分割槽,我們來看一下它的預設分割槽是怎麼樣的,在命令列輸入fdisk l 如下 這裡預設乙個20g 的硬碟,中可以看到,系統已經預設地將磁碟分成了兩個區,...
Centos7 掛載新分割槽
1.使用root賬戶登入 2.輸入fsisk l 檢視當前的磁碟 3.給硬碟建立分割槽 輸入 fdisk dev sda 這是關閉了虛擬機器的系統後,通過設定虛擬機器重新新增了一塊硬碟後,才實現掛載新分割槽的 如下圖 4.掛載新分割槽後需要格式化成ext4檔案系統 輸入 mkfs.ext4 dev ...