cobbler ubuntuextra是什么店

1322人阅读
&Cobbler 通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置。本文探讨 Cobbler 的一些特性,如何安装,以及如何创建一种适合自动安装多个客户端机器的配置。
设置一个网络环境可能涉及到许多步骤,才能为开始安装做好准备。您必须:
配置服务,比如 DHCP、TFTP、DNS、HTTP、FTP 和 NFS
在 DHCP 和 TFTP 配置文件中填入各个客户端机器的信息
创建自动部署文件(比如 kickstart 和 autoinst)
将安装媒介解压缩到 HTTP/FTP/NFS 存储库中。
这个过程并不简单,而且手动注册每个必须配置的客户端机器可能很麻烦。对配置一台机器的任何参数更改(比如要使用一个不同的操作系统),都需要对配置进行手动干预,并有可能对自动部署文件进行手动干预。当机器数量增加时,如果不高度重视文件组织的条理性,TFTP 目录等元素就可能变得混乱。
Cobbler 通过为机器配置的所有方面创建一个中央管理点,从而解决了这些不足。Cobbler 可重新配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等。Cobbler 创建了一个抽象层,您可在其中运行 “add new repository” 或 “change client machine operating system” 等命令。Cobbler 负责处理所有事情:创建或更新配置文件,重新启动服务,或者将媒介解压到新创建的目录中。它的目的是隐藏所有与系统相关的问题,以便您可专注于任务本身。
本文介绍 Cobbler 是如何被设计的,其主要特性,以及使用这些特性快速且轻松地配置机器的示例。首先介绍 Cobbler 的特性。
使用 Cobbler,您无需进行人工干预即可安装机器。Cobbler 设置一个 PXE 引导环境(它还可使用 yaboot 支持 PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP 和 TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler 可以:
使用一个以前定义的模板来配置 DHCP 服务(如果启用了管理 DHCP)
将一个存储库(yum 或 rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统
在 DHCP 配置文件中为需要安装的机器创建一个条目,并使用您指定的参数(IP 和 MAC 地址)
在 TFTFP 服务目录下创建适当的 PXE 文件
重新启动 DHCP 服务以反映更改
重新启动机器以开始安装(如果电源管理已启用)
Cobbler 支持众多的发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。当添加一个操作系统(通常通过使用 ISO 文件)时,Cobbler 知道如何解压缩合适的文件并调整网络服务,以正确引导机器。
Cobbler 可使用 kickstart 模板。基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程。通过使用模板,您就会拥有基本的 kickstart 模板,然后定义如何针对一种配置文件或机器配置而替换其中的变量。例如,一个模板可能包含两个变量&$domain和&$machine_name。在 Cobbler 配置中,一个配置文件指定&,并且每台使用该配置文件的机器在machine_name&变量中指定其名称。该配置文件中的所有机器都使用相同的
kickstart 安装且针对&&进行配置,但每台机器拥有其自己的机器名称。您仍然可以使用 kickstart 模板在不同的域中安装其他机器并使用不同的机器名称。
为了协助管理系统,Cobbler 可通过&fence scripts&连接到各种电源管理环境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安装一台机器,可运行&reboot system foo命令,而且 Cobbler 会使用必要的凭据和信息来为您运行恰当的
fence scripts(比如机器插槽数)。
除了这些特性,还可使用一个配置管理系统 (CMS)。您有两种选择:该工具内的一个内部系统,或者集成一个现有的外部 CMS,比如 Chef 或 Puppet。借助内部系统,您可以指定文件模板,这些模板会依据配置参数进行处理(与 kickstart 模板的处理方式一样),然后复制到您指定的位置。如果必须自动将配置文件部署到特定机器,那么此功能很有用。
使用 koan 客户端,Cobbler 可从客户端配置虚拟机并重新安装系统。我不会讨论配置管理和 koan 特性,因为它们不属于本文的介绍范畴。但是,它们是值得研究的有用特性。(有关更多信息,请参阅&。)
Cobbler 的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体(该对象指向另一个对象,或者另一个对象指向该对象)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。以下对象类型的定义为:
发行版:表示一个操作系统。它承载了内核和 initrd 的信息,以及内核参数等其他数据。
配置文件:包含一个发行版、一个 kickstart 文件以及可能的存储库,还包含更多特定的内核参数等其他数据。
系统:表示要配给的机器。它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息。
存储库:保存一个 yum 或 rsync 存储库的镜像信息。
镜像:可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)。
基于注册的对象以及各个对象之间的关联,Cobbler 知道如何更改文件系统以反映具体配置。因为系统配置的内部是抽象的,所以您可以仅关注想要执行的操作。
配置和使用 Cobbler 的方式包括命令行、API、XML-RPC 和 Web UI。我重点介绍命令行选项。
Cobbler 拥有 Fedora、RHEL、CentOS、Ubuntu 和 OpenSuse 发行版的程序包(参阅&)。我以一个 Fedora 系统上的指令为基础 — 如果愿意,可针对另一个系统轻松地调整这些指令。
首先,安装该工具和 fence 代理包,Cobbler 使用这个程序包执行电源管理活动。以 root 用户的身份,执行发行版的包管理器的&install&命令:
yum -y install cobbler fence-agents
安装好这些程序包后,启动必要的服务:
service cobblerd start
service httpd start
要测试 Cobbler 是否在正常运行,可键入&cobbler check。这个命令显示可能需要调整的配置点。不要担心它们;该命令只是一个为用户提供帮助的指南。后续步骤将配置相关的各个方面(惟一的例外是 SELinux 警告,可按照来自 Cobbler 的指令调整它们)。如果您碰巧获得一条连接错误消息,则需要验证各种服务 — 以及 SELinux 日志(如果已启用)— 是否已正常启动。您可能需要将 SELinux 布尔值&httpd_can_network_connect_cobbler&设置为
true (setsebool -P httpd_can_network_connect_cobbler 1)。如果需要这么做,则请记住在完成后重新启动各项服务。
主要的 Cobbler 配置文件是 /etc/cobbler/settings。使用文本编辑器打开这个文件,并设置以下选项:
manage_dhcp:1
manage_dns:1
manage_tftpd:1
restart_dhcp:1
restart_dns:1
pxe_just_once:1
next_server:&服务器的 IP 地址&
server:&服务器的 IP 地址&
选项&manage_*&和&restart_*&无需加以说明。选项&next_server&用在 DHCP 配置文件中,向机器告知提供引导文件的服务器地址。选项&server&在机器安装期间用于引用
Cobbler 服务器地址。最后,选项&pxe_just_once&预防将机器中的安装循环配置为始终从网络引导。激活此选项时,机器告诉 Cobbler 安装已完成。Cobbler 将系统对象的 netboot 标志更改为 false,这会强制机器从本地磁盘引导。本示例稍后面将使用此选项。
您可能未激活所有选项(参阅&)。在本例中,配置 Cobbler 来管理所有服务,因为这是一种常见场景,并可展示如何进行配置。
现在,Cobbler 已知道要管理哪些服务,请告诉它要使用哪些程序。使用的选项为:
DHCP:ISC dhcpd 或 dnsmasq
DNS:BIND 或 dnsmasq
TFTP:in.tftpd 或 cobbler 的内部 TFTP
为 DHCP 和 DNS 使用 dnsmasq 是一个不错的主意,因为 dnsmasq 的配置过程很容易。可使用 in.tftpd,因为这是系统的默认选择。使用清单 1 中的设置编辑文件 /etc/cobbler/modules.conf:
module = manage_dnsmasq
module = manage_dnsmasq
module = manage_in_tftpd
Cobbler 使用一个模板来创建服务的配置文件。需要编辑 /etc/cobbler/dnsmasq.template 上的 dnsmasq 模板来修改网络信息,比如要使用的网关地址和 IP 范围。假设运行 Cobbler 的服务器也是网关,而且我们的 IP 范围为 192.168.122.5-192.168.122.254,那么在文件中输入以下这行内容:
dhcp-range=192.168.122.5,192.168.122.254,255.255.255.0
通常,您希望阻止未注册的客户端从服务器引导。为此,添加参数&dhcp-ignore=tag:!known。(在以前的版本中,语法可能有所不同:dhcp-ignore=#known。如果有疑问,您可以同时插入两个版本。)文件内容类似于清单 2 中的代码:
# Cobbler generated configuration file for dnsmasq
# resolve.conf .. ?
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts
dhcp-range=192.168.122.5,192.168.122.254,255.255.255.0
dhcp-ignore=tag:!known
dhcp-option=3,$next_server
dhcp-lease-max=1000
dhcp-authoritative
dhcp-boot=pxelinux.0
dhcp-boot=net:normalarch,pxelinux.0
dhcp-boot=net:ia64,$elilo
$insert_cobbler_system_definitions
Cobbler 基本上已可以使用了。重新启动服务,并将更改同步到文件系统以使它们生效。还要记住重新启动&xinetd&服务以提供 TFTP。运行以下命令:
service cobblerd restart
cobbler sync
service xinetd restart
您可添加发行版和存储库,创建配置文件,以及注册系统。请记得要验证您的防火墙配置是否允许网络服务 TFTP、DHCP 和 HTTP/HTTPS 使用端口上的流量。
准备 Cobbler 以安装 Fedora 17 系统,有两个选项可用:Xfce 或 GNOME 桌面。要添加 Fedora 安装树,首先需要下载 ISO 媒介,然后运行以下命令来挂载媒介并解压缩其内容。(在一些系统中,Cobbler 可能无法看到挂载的目录内容,而且无法导入媒介。如果遇到这种问题,可在执行挂载命令后重新启动 Cobbler 服务。):
mount -o loop /Fedora-17-x86_64-DVD.iso /mnt/iso
cobbler import --arch=x86_64 --path=/mnt/iso --name=Fedora17
Cobbler 现在将媒介内容复制到文件系统。请耐心等待:该操作可能需要一段时间才能完成。命令&cobbler import&很方便,它会自动为您创建一个发行版和一个配置文件对象。您也可以将 Cobbler 直接指向一个网络存储库。结果类似于清单 3:
cobbler distro report
: Fedora17-x86_64
Architecture
TFTP Boot Files
Fetchable Files
: /var/www/cobbler/ks_mirror/Fedora17-x86_64/images/
pxeboot/initrd.img
: /var/www/cobbler/ks_mirror/Fedora17-x86_64/images/
pxeboot/vmlinuz
Kernel Options
Kernel Options (Post Install)
Kickstart Metadata
: {'tree': 'http://@@http_server@@/cblr/links/
Fedora17-x86_64'}
Management Classes
OS Version
: generic26
: ['admin']
Red Hat Management Key
: &&inherit&&
Red Hat Management Server
: &&inherit&&
Template Files
cobbler profile report
: Fedora17-x86_64
TFTP Boot Files
Distribution
: Fedora17-x86_64
Enable gPXE?
Enable PXE Menu?
Fetchable Files
Kernel Options
Kernel Options (Post Install)
Kickstart Metadata
Management Classes
Management Parameters
: &&inherit&&
Name Servers
Name Servers Search Path
: ['admin']
Parent Profile
Red Hat Management Key
: &&inherit&&
Red Hat Management Server
: &&inherit&&
Server Override
: &&inherit&&
Template Files
Virt Auto Boot
Virt Bridge
Virt Disk Driver Type
Virt File Size(GB)
Virt RAM (MB)
这个配置文件是您将为希望安装的每个桌面创建的其他两个配置文件的父文件。
但是,在这么做之前,要考虑到您有一个 yum 存储库,这个存储库中包含更多要在安装中使用的程序包。为此,创建一个存储库对象:
cobbler repo add --arch=x86_64 --name=Flash-plugin \
--mirror=/linux/x86_64/
cobbler reposync
cobbler repo report
对于 yum 存储库 URL,Cobbler 接受 http://、ftp://、rsync://、文件系统路径和 ssh 位置(通过使用基于私钥的身份验证)。reposync&操作很重要,因为它会从远程存储库中复制文件。如果创建了存储库对象但未运行&reposync,那么您的存储库将是空的,而且您的安装可能会失败。
要完成存储库激活,可将存储库与一个配置文件相关联。使用以下命令将其与 Fedora 配置文件相关联:
cobbler profile edit --name=Fedora17-x86_64 --repos=Flash-plugin
下一步是创建配置文件。对于自动安装,使用 kickstart 模板特性指定一个 kickstart 文件。创建一个基于 /var/lib/cobbler/kickstarts 中的文件的简单 kickstart。然后,在 %packages 一节中,定义变量&$desktop_pkg_group,该变量在后面会被替换来确定安装哪些桌面包。清单 4 显示了 kickstart 文件的内容:
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Run the Setup Agent on first boot
firstboot --disable
# Activate X
xconfig --startxonboot
# Use network installation
url --url=$tree
# additional repostories get added here
$yum_repo_stanza
# Reboot after installation
# System keyboard
keyboard us
# System language
lang en_US
# System timezone
America/New_York
# Root password
rootpw --iscrypted $default_password_crypted
# Install OS instead of upgrade
# Clear the Master Boot Record
# Allow anaconda to partition the system as needed
flash-plugin
$desktop_pkg_group
# create a default user to log in X
useradd desktop-user
passwd -d desktop-user
# adds the yum repositories to the installed system
$yum_config_stanza
# cobbler final steps
$SNIPPET('kickstart_done')
以&$&开头的变量替换为 Cheetah 程序(参阅&),Cobbler 使用该程序处理其模板。如果熟悉 Cheetah 模板,那么规则都是一样的。如需了解有关内部 Cobbler 变量的更多信息,比如&$yum_config_stanza,请查阅
/var/lib/cobbler/kickstarts 中的可用 kickstart。
创建该文件后,将其复制到 /var/lib/cobbler/kickstarts(如果不这么做,Cobbler 可能无法使用它)。Cobbler 知道$desktop_pkg_group&的值,因为您在创建配置文件时已使用&--ksmeta&选项对其定义过。使用此选项,可确定在替换 kickstart 模板中的一个变量时要使用的值。清单 5 中的命令创建了 Xfce 和 GNOME 配置文件:
cobbler profile add --name=Fedora17-xfce \
--ksmeta='desktop_pkg_group=@xfce-desktop' \
--kickstart=/var/lib/cobbler/kickstarts/example.ks \
--parent=Fedora17-x86_64
cobbler profile add --name=Fedora17-gnome \
--ksmeta='desktop_pkg_group=@gnome-desktop' \
--kickstart=/var/lib/cobbler/kickstarts/example.ks \
--parent=Fedora17-x86_64
cobbler profile report
--parent&参数告诉这些配置文件继承 Fedora 配置文件。这些配置文件使用 Fedora 发行版和额外的 Flash-plugin 存储库。要确保一切设置都是正确的,可在处理之后验证 kickstart 内容。结果类似于清单 6:
cobbler profile getks --name=Fedora17-xfce
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Run the Setup Agent on first boot
firstboot --disable
# Activate X
xconfig --startxonboot
# Use network installation
url --url=http://192.168.122.1/cblr/links/Fedora17-x86_64
# additional repostories get added here
repo --name=Flash-plugin --baseurl=http://192.168.122.1/cobbler/repo_mirror/Flash-plugin
repo --name=source-1 --baseurl=http://192.168.122.1/cobbler/ks_mirror/Fedora17-x86_64
# Reboot after installation
# System keyboard
keyboard us
# System language
lang en_US
# System timezone
America/New_York
# Root password
rootpw --iscrypted $1$mF86/UHC$WvcIcX2t6crBz2onWxyac.
# Install OS instead of upgrade
# Clear the Master Boot Record
# Allow anaconda to partition the system as needed
flash-plugin
@xfce-desktop
# create a user we can use to log on X
useradd desktop-user
passwd -d desktop-user
# adds the yum repositories to the installed system
wget &http://192.168.122.1/cblr/svc/op/yum/profile/Fedora17-xfce& \
--output-document=/etc/yum.repos.d/cobbler-config.repo
# cobbler final steps
wget &http://192.168.122.1/cblr/svc/op/ks/profile/Fedora17-xfce& -O /root/cobbler.ks
wget &http://192.168.122.1/cblr/svc/op/trig/mode/post/profile/Fedora17-xfce& -O /dev/null
变量&$dekstop_pkg_group&已被正确替换为&@xfce-desktop,它告诉 Anaconda 安装程序安装 Xfce 桌面包分组。
您基本上已准备好开始进行安装。最后一步是将机器(每个桌面一台机器)与您希望向其安装的配置文件相关联。使用的命令如清单 7 所示:
cobbler system add --name=desktop-xfce-1 \
--profile=Fedora17-xfce \
--mac=52:54:00:b8:5e:8f \
--ip-address=192.168.122.10
cobbler system add --name=desktop-gnome-1 \
--profile=Fedora17-gnome \
--mac=52:54:00:88:f3:44 \
--ip-address=192.168.122.11
cobbler system report
Cobbler 中的电源管理特性可为您打开、关闭和重新引导机器。在有许多机器且必须组织电源管理信息时(比如每台机器的用户和密码,因为 Cobbler 在其数据库中注册了它们),此功能也很有用。假设机器 desktop-xfce-1 位于 Bay 2 的 IBM Bladecenter 中,并且 desktop-gnome-1 是一台由 RSA 委员会管理的机器。您可按照清单 8 中所示设置您的系统:
cobbler system edit --name=desktop-xfce-1 \
--power-type=bladecenter \
--power-id=2 \
--power-user=admin_user \
--power-pass=admin_password \
--power-address=192.168.122.2
cobbler system edit --name=desktop-gnome-1 \
--power-type=rsa \
--power-user=rsa_user \
--power-pass=rsa_password \
--power-address=192.168.122.3
请记住将所有更改应用到文件系统:
cobbler sync
最后,您可以安装这些机器了。
您已准备好引导机器并安装它们。这些机器必须配置为从网络引导 — 否则,它们可能从硬盘引导而且永远不会开始安装。如果激活了电源管理,那么 Cobbler 就可为您重新引导机器,这样您就可以使用一个简单命令开始安装:
cobbler system reboot --name=desktop-xfce-1
这个命令让 Cobbler 使用您指定的凭据连接到 Bladecenter,并向刀片服务器 2 发出一个重新引导命令。该刀片服务器通过网络引导重新启动,并从 Cobbler 中接收引导文件。安装过程会自动执行,而且该过程完成后将显示 Fedora 登录屏幕。
您可能希望轻松地可视化 Cobbler 对象,并为每天的重复任务重用对象值。Cobbler 提供了一个很有用的 Web 界面,您可以通过该界面实现此目的。要使用这个界面,首先需要安装它的程序包:
yum -y install cobbler-web
安装该程序包后,配置 Cobbler 授权和身份验证系统,以便您可以登录。配置位于文件 /etc/cobbler/modules.conf 中,类似于清单 9 中的代码:
# authentication:
# what users can log into the WebUI and Read-Write XMLRPC?
# choices:
authn_denyall
-- no one (default)
authn_configfile -- use /etc/cobbler/users.digest (for basic setups)
authn_passthru
-- ask Apache to handle it (used for kerberos)
authn_ldap
-- authenticate against LDAP
authn_spacewalk
-- ask Spacewalk/Satellite (experimental)
-- use PAM facilities
authn_testing
-- username/password is always testing/testing (debug)
(user supplied)
-- you may write your own module
# WARNING: this is a security setting,
do not choose an option blindly.
# for more information:
# /cobbler/cobbler/wiki/Cobbler-web-interface
# /cobbler/cobbler/wiki/Security-overview
# /cobbler/cobbler/wiki/Kerberos
# /cobbler/cobbler/wiki/Ldap
[authentication]
module = authn_denyall
# authorization:
# once a user has been cleared by the WebUI/XMLRPC, what can they do?
# choices:
authz_allowall
-- full access for all authneticated users (default)
authz_ownership
-- use users.conf, but add object ownership semantics
(user supplied)
-- you may write your own module
# WARNING: this is a security setting
do not choose an option blindly.
# If you want to further restrict cobbler with ACLs for various groups,
# pick authz_ownership.
authz_allowall does not support ACLs.
configfile
# does but does not support object ownership which is useful as an additional
# layer of control.
# for more information:
# /cobbler/cobbler/wiki/Cobbler-web-interface
# /cobbler/cobbler/wiki/Security-overview
# /cobbler/cobbler/wiki/Web-authorization
[authorization]
module = authz_allowall
&中的帮助注释表明,可使用 LDAP、PAM 和配置文件等身份验证选项。因为 PAM 非常常见,所以使用它执行身份验证。在授权一节中,定义哪些用户拥有使用该工具的官方许可。将 module 值设置为&authz_ownership,以便您可在
users.conf 文件中指定谁能够访问 Web 界面。配置类似于清单 10 中的代码:
[authentication]
module = authn_pam
[authorization]
module = authz_ownership
保存该文件。接下来,您需要一个名为&myuser&的系统用户(如果没有,可使用&useradd myuser && passwd myuser&创建)。然后,打开文件 /etc/cobbler/users.conf 并将&myuser&添加到
admins 组(这个组拥有对象的完整访问权),如清单 11 所示:
# Cobbler WebUI / Web Services authorization config file
# this file is only used when /etc/cobbler/modules.conf
# specifies an authorization mode of either:
(A) authz_configfile
(B) authz_ownership
# For (A), any user in this file, in any group, are allowed
# full access to any object in cobbler configuration.
# For (B), users in the &admins& group are allowed full access
# to any object, otherwise users can only edit an object if
# their username/group is listed as an owner of that object. If a
# user is not listed in this file they will have no access.
cobbler command line example:
cobbler system edit --name=server1 --owner=dbas,mac,pete,jack
yes, you do need the equal sign after the names.
# don't remove that part.
It's reserved for future use.
myuser = &&
配置已完成。现在,重新启动 Cobbler 和 Apache 服务以应用更改:
service cobblerd restart
service httpd restart
Web 界面很简单(参见图 2):左侧的菜单显示了配置类(比如存储库、系统、发行版和配置文件)、资源(用于配置管理)和操作(导入、同步)。单击一个配置类,就会在屏幕右侧列出所有对象。可通过每一项旁边的按钮(Edit、Copy、Rename、Delete)应用列表过滤器和执行不同操作。
Cobbler(一个自动化和简化系统安装的工具)使用网络引导来控制和启动安装。其他 Cobbler 特性包括存储库镜像、kickstart 模板和连接电源管理系统。
通过描述该工具的配置对象以及它们如何相互关联,演示了 Cobbler 的内部设计。Cobbler 的结构结构基于关联的对象以及它们之间的继承性,提供了良好的解压缩和重用能力,从而简化了针对系统安装而配置环境的任务。
您了解了如何安装和配置 Cobbler,以及如何使用其命令创建一种适合自动安装机器的配置。最后,您了解了如何安装和配置 Web 界面,可作为执行每日活动的实用替代方案。
Cobbler 可让系统管理员的工作变得更轻松。本文中未探讨的特性(包括 XML-RPC API、配置管理和 koan 客户端)使 Cobbler 变得更加强大,并为进一步探索提供了方向。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:421249次
积分:4838
积分:4838
排名:第2960名
原创:57篇
转载:253篇
评论:21条
(9)(2)(2)(6)(15)(7)(1)(6)(3)(5)(1)(9)(6)(6)(11)(15)(7)(1)(7)(14)(1)(6)(3)(1)(7)(5)(5)(3)(4)(5)(6)(5)(2)(6)(6)(7)(5)(1)(6)(14)(6)(5)(3)(4)(8)(6)(1)(2)(4)(15)(7)(2)(3)(2)(1)(1)(2)(3)(3)(1)I'm declaring this cobbler the Recipe of Summer. It take those pints of cherry tomatoes that you can't help bringing home from the farmers market and transforms them into silky, oh-so-tender bites. Plus, you know, cheddar biscuits. Trust me: It's worth turning on the oven for this one.
Make sure your cast iron skillet is well-seasoned for this recipe. Tomatoes are acidic, and they can dissolve the seasoning somewhat. This isn't a big deal with a well-seasoned skillet — just rub it with a little oil after cleaning — but it can set you back a few seasonings with a new skillet. New skillets can also sometimes give acidic foods an unpleasant metallic flavor.
If you'd prefer not to use cast iron for this, you can also cook the cobbler in a 12-inch stainless steel skillet with high sides or in a 13x9-inch baking dish.
On its own, this cobbler makes a very satisfying vegetarian main dish. One biscuit each, plus a generous scoop of warm tomatoes, and dig in! It's filling, but not actually too heavy — it still feels like a good summer dinner. It would also go nicely with some grilled chicken on the side.
Tomato Cobbler with Cornmeal-Cheddar Biscuits
Serves 6 to 8
3 1/2 to 4 pounds cherry tomatoes
1/2 tablespoon olive oil
2 medium red onions, peeled and thinly sliced
1 1/2 teaspoons salt, divided
4 cloves garlic, minced
1/4 cup red wine (or 2 tablespoon balsamic vinegar)
1/4 cup all-purpose flour
For the biscuits:
1 1/4 cup all-purpose flour
3/4 cup cornmeal
1 tablespoon baking powder
1/2 teaspoon baking soda
1/2 teaspoon salt
6 tablespoons cold unsalted butter
1 1/2 cups grated cheddar cheese, divided
3/4 to 1 cup buttermilk, plus extra to brush.
Heat the oven to 375°F with a rack placed in the middle of the oven.
Pick the stems off of the cherry tomatoes and rinse them under running water. Larger tomatoes can be sliced in half, but I generally just leave the tomatoes whole.
Warm the olive oil in a 12-inch cast iron or high-sided stainless steel skillet over medium-high heat. When warm, add the onions and 1/2 teaspoon of salt. Sauté until the onions are very soft and tender, at least 10 minutes, or if you have the patience, lower the heat and continue cooking for another 20 or 30 minutes to caramelize the onions. (Read more: .)
Stir the garlic into the onions and cook until fragrant, 30 to 60 seconds. Pour in the wine (or balsamic) and cook until the wine has mostly evaporated. Stir in the flour and cook until the flour is paste-like. Remove the pan from heat. Stir in the cherry tomatoes and 1 teaspoon of salt, carefully stirring and folding until the onions are evenly mixed with the tomatoes.
To prepare the biscuits, combine the flour, cornmeal, baking powder, baking soda, and salt in the bowl of a food processor. Pulse a few times to combine. Cut the cold butter into chunks and scatter it over the flour. Pulse a few times until the butter has been cut into pea-sized pieces.
Transfer the flour-and-butter mixture to a bowl and stir in 1 cup of the cheddar (reserve the other 1/2 cup for sprinkling over the top). Form a well in the middle and pour in 3/4 cup of buttermilk for firmer biscuits, or 1 cup of buttermilk for looser biscuits. Use a spatula to gently stir the butte continue stirring until all the buttermilk has been incorporated and no more dry flour remains. (Alternatively, you can make the biscuits entirely in a bowl and use your fingers or a pastry cutter to cut in the butter.)
Drop the dough over the tomatoes, making 7 to 8 biscuits. Brush the biscuits with a little buttermilk. Place the skillet on a baking sheet to catch drips, and then transfer to the oven.
Cook for 55 to 60 minutes, until the tomatoes are very bubbly and the tops of the biscuits are nicely browned. About 10 minutes before the end of baking, sprinkle the tops of the biscuits with the remaining 1/2 cup of cheddar.
Remove from the oven and let the cobbler rest for at least 15 minutes before eating. Leftovers will keep for about a week.
Recipe Notes
This recipe can also be cooked in a 13x9-inch baking dish or other 3-quart baking dish. Prepare the tomato mixture in a skillet on the stovetop, then transfer to the baking dish, top with the biscuits, and bake until bubbly.
(Image credits: )
The Kitchn's Best Recipes for Your 4th of July
Show Nutrition
Cholesterol
Emma is the Associate Food Editor for The Kitchn and a graduate of the Cambridge School for Culinary Arts. She is the author of
(Spring 2015). Check out
for more cooking stories.
The Kitchn Cookbook
won a James Beard Book Award!
Got a tip, kitchen tour, or other story our readers should see?
& 2015 Apartment Therapy

我要回帖

更多关于 cobbler web 的文章

 

随机推荐