背景:windows server2008直接挂载块存储,存放小文件性能不佳,设计方案使用一台nas服务器将存储中转给windows服务器。
1. 配置lvm ssd缓存
利用固态盘提升hdd磁盘阵列的性能
parted -s /dev/nvme0n1 mklabel gpt mkpart CACHE 0% 100%
parted -s /dev/mapper/mpathf mklabel gpt mkpart DATA 0% 100%
parted -s /dev/mapper/mpathg mklabel gpt mkpart DATA 0% 100%
vgcreate santiagodvg /dev/nvme0n1p1 /dev/mapper/mpathf1 /dev/mapper/mpathg1
lvcreate -l 100%PV -n nvmelv santiagodvg /dev/nvme0n1p1
lvcreate -l 100%FREE -n datalv santiagodvg
lvconvert --type cache --chunksize 2M --cachevol nvmelv santiagodvg/datalv
lvs -o cache_mode santiagodvg/datalv|grep writeback||lvchange --cachemode writeback santiagodvg/datalv
mkfs.xfs -K /dev/mapper/santiagodvg-datalv
echo "/dev/mapper/santiagodvg-datalv /data xfs defaults,_netdev 0 0" >> /etc/fstab
mkdir -p /data/santiagod
chmod 777 /data
mount -a
mkdir -p /data/santiagod
chmod -R 777 /data
2. samba配置
samba配置文件如下
# cat /etc/samba/smb.conf
[global]
aio read size = 4096
# aio read size = 0
workgroup = santiagod
server string = THE nse1k Server Version %v
log file = /var/log/samba/log.%m
max log size = 5120
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
map to guest = Bad User
guest account = crealife
ntlm auth = yes
; include = /etc/samba/rhs-samba.conf
kernel share modes = no
kernel change notify = no
; ctdbd socket = /tmp/ctdb.socket
; include = /etc/samba/ctdb.conf
kernel oplocks = no
posix locking = no
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
load printers = no
disable spoolss = yes
show add printer wizard = no
printing = bsd
[santiagod]
comment = santiagod
path = /data/santiagod
read only = no
guest ok = yes
force create mode = 0660
force directory mode = 02770
force user = santiagoddess
case sensitive = Yes
preserve case = No
short preserve case = No
samba用户配置
useradd -M -d /data/santiagod -s /usr/sbin/nologin santiagoddess
smbpasswd -a santiagoddess
systemctl restart smb