在某個項目中使用kickstart按照centos7.4的時候由於總是報磁盤問題,使用手工方式安裝的時候,圖形化分區界面和自己想到不一樣,開始以爲是7的anaconda不支持多個VG,後來才發現是自己的配置有問題。
這裏說的RHEL7分區配置主要是針對安裝操作系統時的分區配置問題。分兩部分進行說明:
1 圖形化手工分區
2 kickstart文件ks.cfg中分區的寫法
之所以寫這篇文章是因爲自己踩到了一個大坑,記錄一下。我這裏的環境是多個磁盤配置多個lvm,如果只有一塊盤,那無所謂,怎麼配置都行,但多塊盤的時候就需要注意一些情況了。
環境:
DELL R730服務器
2塊480G SSD做RAID1,用於安裝系統
4塊1T SATA兩兩做RAID1,名爲data1和data2,掛載在/data1和/data2上
應用的需求是:
劃分/boot分區,/home分區和/分區,都使用xfs,劃分rootvg,做成lvm
劃分/dev/sdb和/dev/sdc,data1vg和data2vg,做成lvm
在ks文件中,我的寫法是
# Partition clearing information
clearpart --all --initlabel
zerombr
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.12 --grow --fstype="lvmpv" --ondisk=sda --size=1024
volgroup rootvg --pesize=32768 pv.12
logvol / --fstype="xfs" --size=51200 --name=root --vgname=rootvg
logvol swap --fstype="swap" --size=1024 --name=swap --vgname=rootvg
logvol /home --fstype="xfs" --size=204800 --name=swap --vgname=rootvg
part pv.13 --grow --fstype="lvmpv" --ondisk=sdb --size=1
volgroup data1vg --pesize=32768 pv.13
logvol /data1 --fstype="xfs" --size=8192 --name=data1 --vgname=data1vg
part pv.14 --grow --fstype="lvmpv" --ondisk=sdc --size=1
volgroup data2vg --pesize=32768 pv.14
logvol /data2 --fstype="xfs" --size=8192 --name=data2 --vgname=data2vg
但在安裝過程中,總是提示沒有磁盤,因此在這步只能手動分區,過程如下:
以下是在測試環境中使用vm還原和解決問題的過程,和生產環境的一樣
新建一臺centos7的虛擬機,系統爲centos7.4
添加三塊disk,分別是15G,10G,10G,如下:
我的想法是:
先選中第一塊盤,之後建立/boot分區,作爲standard分區,xfs;之後建立rootvg,之後建立/home和/分區,做成lvm形式
之後選中第二塊盤,/dev/sdb,做成data1vg,建立data1 lv
之後選中第三塊盤,/dev/sdc,做成data2vg,建立data2 lv
但在實際操作的時候,只有rootvg可以正常建立,在之後建立data1vg和data1 lv的時候會自動把rootvg幹掉;在之後建立data2vg和data2 lv的時候又會把data1vg和data1 lv幹掉
我之前以爲是anaconda的bug,或者是不支持設置多個vg,後來測試了幾次,才找到正確的配置方法,如下:
選中三塊盤,使用I will configure partitioning,之後Done
首先建立/boot分區,注意這裏的提示,表示使用的是sda,sdb,sdc三塊disk,需要Modify成只使用sda這一塊磁盤,之後update setting
之後建立swap,創建rootvg,只選擇sda這塊磁盤
之後建立/分區
之後建立/data1,分配大小,建立data1vg,使用sdb
之後建立掛載點/data2,建立data2vg,使用sdc磁盤
之後update settings===注意:最好在每做完一個分區之後就update settings一次
可以在Desired Capacity這裏修改分區大小
注意:
每做完一個分區,最好就update settings一下
如果顯示某個vg可用空間不足,最好把該vg中的某個分區設置的稍微小一點,在新建另一個分區(使用另一個vg)的時候先設置成一個小的lv,然後在調大
我覺得anaconda還是有一些bug,在配置分區的有些時候命名沒有使用某塊disk,但實際上會佔用該disk的空間,導致之後建立的分區空間不夠用,這種情況的解決方法是:將所有分區都刪除,然後重建
在ks.cfg中是如下形式
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
part /boot --fstype="xfs" --ondisk=sda --size=300
part pv.4441 --fstype="lvmpv" --ondisk=sda --size=9415
part pv.5068 --fstype="lvmpv" --ondisk=sdb --size=10239
part pv.5670 --fstype="lvmpv" --ondisk=sdc --size=10239
volgroup rootvg --pesize=4096 pv.4441
volgroup data1vg --pesize=4096 pv.5068
volgroup data2vg --pesize=4096 pv.5670
logvol /home --fstype="xfs" --size=200 --name=home --vgname=rootvg
logvol swap --fstype="swap" --size=1020 --name=swap --vgname=rootvg
logvol / --fstype="xfs" --size=8192 --name=root --vgname=rootvg
logvol /data1 --fstype="xfs" --size=10236 --name=data1 --vgname=data1vg
logvol /data2 --fstype="xfs" --size=10236 --name=data2 --vgname=data2vg
最後,爲了更通用,適合更大的磁盤環境,修改爲如下:紅色部分爲添加的內容
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --all --initlabel
zerombr
part /boot --fstype="xfs" --ondisk=sda --size=300
part pv.13261 --fstype="lvmpv" --ondisk=sda --size=307200 --grow
part pv.16342 --fstype="lvmpv" --ondisk=sdb --size=1024000 --grow
part pv.18500 --fstype="lvmpv" --ondisk=sdc --size=1024000 --grow
volgroup rootvg --pesize=32768 pv.13261
volgroup data1vg --pesize=32768 pv.16342
volgroup data2vg --pesize=32768 pv.18500
logvol /home --fstype="xfs" --size=204800 --name=home --vgname=rootvg
logvol swap --fstype="swap" --size=8192 --name=swap --vgname=rootvg
logvol / --fstype="xfs" --size=51200 --name=root --vgname=rootvg
logvol /data2 --fstype="xfs" --size=1 --grow --name=data2 --vgname=data2vg
logvol /data1 --fstype="xfs" --size=1 --grow --name=data1 --vgname=data1vg